2017-06-06 2 views
1

大きな.wavファイルをアップロードする必要があるサイトを構築しています。私はこれらのファイルをアップロードする最善の方法は、データをサーバーにチャンクすることができるjQueryプラグイン経由であると考えました。これを行うにはReal Ajax Uploaderを選択しました。Real Ajax Uploaderエラー:ファイルに書き込めません

私は一緒に以下を入れて、それは小さなファイルのための素晴らしい作品:私は「チャンク」を必要とする大きなファイルを持っている場合

$('.demo').ajaxupload({ 
    url : '/upload.php', 
    remotePath: '/remote/path/', 
    maxFiles: 1, 
    maxFileSize: '250M', 
}); 

問題が発生します。私は、これは$tempFileが書き込み可能でないことを意味したと仮定

... 
//start of the file upload, first chunk 
if ($currByte == 0) { 
    $tempFile   = tempnam($this->tempPath, 'axupload'); 
    $this->tempFileName = basename($tempFile); 
} 

// some rare times (on very very fast connection), file_put_contents will be unable to write on the file, 
// so we try until it writes for a max of 5 times 
$try = 5; 
while (file_put_contents($tempFile, $fileChunk, FILE_APPEND) === false && $try > 0) { 
    usleep(50); 
    $try--; 
} 

//if the above fails then user cannot write file due to permission or other problems 
if (!$try) { 
    $this->message(-1, 'Cannot write on file.'); 
} 
... 

:私はupload.phpファイル内のこの場所にそれをトレースしてきました

Cannot write on file. 

:何らかの理由でスクリプトが私にこのエラーを与え続けますので、私は、このビットを追加しました:

... 
//start of the file upload, first chunk 
if ($currByte == 0) { 
    $tempFile   = tempnam($this->tempPath, 'axupload'); 
    $this->tempFileName = basename($tempFile); 
} 

chmod($tempFile, 0755); 
... 

私は再びそれを試してみましたが、私はまだ問題を抱えていたので、私は多分それがそうだった思考、755には/ tmpのパーミッションを変更しました。もう一度、何も。

私の/ tmpディレクトリの場所を変更してより書き込み可能な環境にしようとすることもできますが、もっと簡単な解決策があれば、それをやりたいのです。

ありがとうございます。

+0

あなたはupload_max_filesizeやpost_max_sizeのようなphp.ini設定の値を増やしてチェックしましたか? –

+0

@ViswanathPolakiうん。私は-1メモリ制限で256Mで両方を持っています。私のファイルは80Mです。チャンクは3%のように壊れます。 –

答えて

0

まず、小さなファイルをディレクトリにアップロードし、アップロードが成功するかどうかを確認します。

php_value upload_max_filesize 10M 
php_value post_max_size 10M 
php_value max_input_time 300 
php_value max_execution_time 300 

更新上記のすべての設定は、あなたの要件を満たすために、その後、サーバーを再起動し、もう一度試してください:成功した場合、php.ini設定ファイルを検索し、より次のことを確認してください。

関連する問題