2

私のPHP Webサイトにuploadify 3.1を統合しました。

問題: 私のアップロード スクリプトは、小さなビデオに対して正常に動作します。ビデオ ファイルはターゲット フォルダにアップロードされ、データベースにも保存されます。

1) 50 MB 未満のビデオ ファイルの場合 - ビデオのアップロードは問題ありませんが、アップロードが 100% 完了した後、ビデオはターゲット フォルダにアップロードされ、情報はデータベースにも保存されますが、302 エラーが発生します。

2) 50 MB を超えるビデオ ファイルの場合 - ビデオのアップロード ステータスは、ビデオが 100% アップロードされていることを示しています。進行状況バーで 100% のアップロード ステータスを取得した後、ビデオはターゲット フォルダーにアップロードされず、データベースにも保存されません。

これらの問題の解決にご協力ください。できるだけ多くの情報を提供しようとしました。

以下はIISサーバーに設定されているので問題ありません。

php 5.2.7
mysql
max_execution_time = 10800 seconds
max_input_time = 10800 seconds
memory_limit = 512M
post_max_size = 512M
upload_max_filesize = 512M
Fast CGI Timeout = 3600 seconds

以下はウェブサイトの構造です

admin (folder)
     video/video_add.php (upload page location inside admin folder)
     video/video_add_p.php (upload programming where file is being uploaded and stored into database)
data (folder)
     video (video files will be stored inside this folder)

以下のファイルは video_add.php ページに含まれています

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
<script src="jquery.uploadify-3.1.min.js" type="text/javascript"></script>

以下は、video_add.php ページのアップロード設定です。

<script type="text/javascript">
<?php $timestamp = time();?>
$(function() {
    $('#file_upload').uploadify({
        'auto'          : true,
        'buttonText'        : 'SELECT AND UPLOAD VIDEO',
        'checkExisting'     : './check-exists.php',
        'fileSizeLimit'     : '200MB',
        'fileTypeDesc'      : 'Video Files',
        'fileTypeExts'      : '*.flv; *.mp4; *.mpg; *.mpeg; *.wmv; *.FLV; *.MP4; *.MPG; *.MPEG; *.WMV;', 
        'formData'          : {
            'timestamp'     : '<?php echo $timestamp;?>',
            'token'         : '<?php echo md5('unique_salt' . $timestamp);?>',
            'pkid'          : '<?php echo $int_pkid;?>',
             },
        'method'            : 'post',
        'multi'             : false,
        'progressData'      : 'speed',
        'removeCompleted'   : false,
        'swf'               : 'uploadify.swf',
        'uploader'          : './video_add_p.php',
        'uploadLimit'       : 1,
        'width'             : 250,
        'onSelect'          : function() { 
                                if(trim(txt_title.value)=="")
                                {
                                    alert("Please enter video name.");
                                    txt_title.focus();
                                    $('#file_upload').uploadify('cancel'); 
                                    return false;
                                }
                              },
        'onSelectError'     : function() { alert('The file returned an error and was not added to the queue.');},
        'onUploadStart'     : function() { $("#file_upload").uploadify('settings', 'formData', {'txt_title':  $('#txt_title').val()}); },
        'onUploadComplete'  : function() { location.reload(true); },
    });
});

以下は、ビデオファイルを選択するための入力ボタンです

<input type="text" id="txt_title" name="txt_title" size="90">
<input type="file" id="file_upload" name="file_upload" placeholder="Select your file to upload">

以下は、ビデオをアップロードするための video_add_p.php プログラミングです。

$targetFolder = "../../data/video/"; // Relative to the root
$verifyToken = md5('unique_salt' . $_POST['timestamp']);

if (!empty($_FILES) && $_POST['token'] == $verifyToken) {
$tempFile = $_FILES['Filedata']['tmp_name'];
$targetPath = $targetFolder;
$targetFileExt=GetExtension($_FILES['Filedata']['name']);
$targetFileName = "video_".$int_pkid."_".date("ymdhis").".".$targetFileExt;;
$targetFile = rtrim($targetPath,'/') . '/' . $targetFileName;

// Validate the file type
$fileTypes = array('flv','mp4','mpg','mpeg','wmv','FLV','MP4','MPG','MPEG','WMV'); 

    // File extensions
$fileParts = pathinfo($_FILES['Filedata']['name']);

if (in_array($fileParts['extension'],$fileTypes)) {
    set_time_limit(0);
    move_uploaded_file($tempFile,$targetFile);
    echo '1';
} 
else { echo 'Invalid file type.'; }
}

-- Here script is written to store uploaded video file data into mysql database. --
4

1 に答える 1

0

このフォーマットであなたのサイズを書いてみてください...それがうまくいくことを願っています

'fileSizeLimit': 20971345,
于 2013-03-11T07:21:08.227 に答える