大きな.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ディレクトリの場所を変更してより書き込み可能な環境にしようとすることもできますが、もっと簡単な解決策があれば、それをやりたいのです。
ありがとうございます。
あなたはupload_max_filesizeやpost_max_sizeのようなphp.ini設定の値を増やしてチェックしましたか? –
@ViswanathPolakiうん。私は-1メモリ制限で256Mで両方を持っています。私のファイルは80Mです。チャンクは3%のように壊れます。 –