次の問題があります。HTML5 filedrop を使用して 33.3MB のファイルをアップロードしています。最初にファイルをローカル ストレージに保存してから、それを ftp サーバーに転送します。約 1 分後にページがクラッシュします (ファイルがローカル ストレージに保存された後)。ページを更新するたびにアップロードが継続していることに気付きました。ファイル サイズが大きくなっています。最後にバックグラウンドでアップロードされますが、もちろんページがクラッシュすることは望ましくありません。理由がわかる方、回答お願いします。upload_max_filesize、post_max_size を増やし、タイムアウトも増やしました。
$userName = "username";
$pass = "pass";
$root = "FolderBBB";
ini_set('default_socket_timeout', '1000');
ini_set('upload_max_filesize', '1024M');
ini_set('post_max_size', '1024M');
ini_set('max_execution_time', '1000');
ini_set('max_input_time', '1000');
ini_set('memory_limit', '1024M');
$conn = ftp_connect("path",2121,1800) or die("Could not connect");
if (ftp_login($conn, $userName, $pass)){
@ftp_pasv($conn,TRUE);
set_time_limit(0);
if ($_FILES && $_FILES["file"] && $_FILES["file"]["tmp_name"]){
$fullPath = $root.$_POST["path"]."/".$_FILES["file"]["name"];
if (ftp_exists($conn, $fullPath)){
echo "{\"check\": false,\"text\":\"File already exists on server.\"}";
}else{
if(move_uploaded_file($_FILES["file"]["tmp_name"], $_FILES["file"]["name"])){
// echo $root.$_POST["path"]."/".$_FILES["file"]["name"];
if(ftp_put($conn, $fullPath, $_FILES["file"]["name"], FTP_BINARY)){
unlink($_FILES["file"]["name"]);
echo "{\"check\":true, \"text\":\"File(s) were uploaded successfully.\"}";
}else{
echo "{\"check\": false, \"text\":\"File ".$_FILES["file"]["name"]." was not uploaded successfully.\"}";
}
}else{
echo "{\"check\": false, \"text\":\"File ".$_FILES["file"]["name"]." was not uploaded successfully.\"}";
}
}
}
}