私は基本的なPHPファイルアップロードスクリプトを持っています。アップロードスクリプトに変更はありません。テスト/トラブルシューティングでは、jpeg画像の向きが横長(高さよりも広い)で、ファイルが4.5MBより大きい場合、アップロードされるファイルの約7%でダウンロードがロックされることに気付きました。画像を縦向きに回転してファイルサイズを同じにしたり、画像のサイズを小さくして横向きにしたりすると、アップロードが完了します。PHP画像のアップロードが横向きになっていません
私が困惑しているのは、縦長のファイルが大きくなるとアップロードがうまくいくということです。サーバーにファイルをアップロードするときに画像の方向は問題になりますか?
最初に私はアップロードをセットアップしてからPHPスクリプトを呼び出すためにJavascriptとAJAXを使用しています。 Javascriptを/ AJAXは、次のとおりです。アップロード
function uploadFile()
{
var formdata = new FormData();
var location=document.getElementsByName("file");
var file = location[0].files[0];
formdata.append("file", file,location[0].id+"_"+date+"."+file.type.substring(file.type.indexOf("/")+1));
var ajax = new XMLHttpRequest();
_("progressBar").style.visibility="visible";
ajax.upload.addEventListener("progress", progressHandler, false);
ajax.addEventListener("load", completeHandler, false);
ajax.addEventListener("error", errorHandler, false);
ajax.addEventListener("abort", abortHandler, false);
ajax.open("POST", "as_built_replace_uploader.php");
ajax.send(formdata);
}
私のPHPは次のとおりです。
$filename = $_FILES["file"]["name"];
$file_tmp_loc = $_FILES["file"]["tmp_name"]; // File in the PHP tmp folder
$file_type = $_FILES["file"]["type"]; // The type of file it is
$file_size = $_FILES["file"]["size"]; // File size in bytes
$file_error_msg = $_FILES["file"]["error"]; // 0 for false... and 1 for true
$wildcard="maps/".substr($filename,0,strpos($filename,"."))."*";
foreach (glob($wildcard) as $path)
{
unlink($path);
}
if(move_uploaded_file($file_tmp_loc,"maps/".$filename))
あなたの質問にPHPファイルのアップロードスクリプトコードを追加してください –
アップロード中にPHPがファイルを読み込まないことを考慮して、私はその問題の別の場所を検索します。おそらく、あなたは写真を操作するためのクライアント側のライブラリや、その間の非常に厄介なセキュリティソフトウェアを持っているかもしれません。 (私はあなたが '$ _FILES [" file "] [" error "]'を読むことに気付きましたが、それを使用しているようではありません - コメントが言うように0または1でもありません。) –
私は使っていました$ _FILES ["file"] ["error"]は最初のトラブルシューティングのためのものですが、現在はありません。だから私のPHPスクリプトが始まる前にAJAXトランザクション中にハングアップが起きていると言っていますか? – Ingo