저는 최근까지만해도 잘 작동하는 기본 PHP 업로드 스크립트가 있습니다. 업로드 스크립트를 변경하지 않았습니다. 테스트/문제 해결을 통해 jpeg 이미지 방향이 가로 방향 (너비보다 넓음)이고 파일 크기가 4.5MB보다 크면 업로드되는 파일의 약 7 %에서 다운로드가 잠기는 것을 발견했습니다. 이미지를 세로 방향으로 회전하고 파일 크기를 그대로 유지하거나 이미지 크기를 줄이고 가로 방향으로두면 업로드가 완료됩니다.PHP 이미지 업로드가 가로 방향으로 작동하지 않습니다.
나를 괴롭혔던 이유는 세로 방향의 큰 파일이 잘 업로드된다는 것입니다. 파일을 서버에 업로드 할 때 이미지 방향이 중요합니까?
먼저 업로드를 설정하고 PHP 스크립트를 호출하기 위해 Javascript와 AJAX를 사용하고 있습니다. 자바 스크립트/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는 다음과 같습니다
@ ÁlvaroGonzález가 관찰$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 트랜잭션 중에 hangup이 발생했다는 말입니까? – Ingo