"stack"에서이 문제를 검색했지만 유사한 문제가 발견되지 않았습니다.phpl의 doc & docx 파일이 작동하지 않음
두 개의 다른 폴더에 두 개의 파일 (이미지 & 텍스트)을 업로드하는 코드가 있습니다.
$file_path = "users/".$uname."/dp/";
$file_path2 = "users/".$uname."/resume/";
$q=mkdir("users/".$uname."/dp/", 0777, $recursive=true);
$r=mkdir("users/".$uname."/resume/", 0777, $recursive=true);
if($q && $r)
{
$targate = $file_path.basename($_FILES['dp']['name']);
//echo $targate ;die;
if ((($_FILES['dp']["type"] == "image/gif") || ($_FILES['dp']["type"] == "image/jpeg") || ($_FILES['dp']["type"] == "image/png") ||
($_FILES['dp']["type"] == "image/jpg")) && ($_FILES['dp']["size"] < 20000))
{
if ($_FILES['dp']["error"] > 0)
{
echo "Return Code: " . $_FILES['dp']["error"] . " ";
}
else
{
move_uploaded_file($_FILES['dp']["tmp_name"], $targate);
}
}
else
{
//echo "Invalid file";
}
$targate2 = $file_path2.basename($_FILES['resume']['name']);
//echo $targate2 ;die;
if ((($_FILES["resume"]["type"] == "text/plain") || ($_FILES["resume"]["type"] == "application/msword")
|| ($_FILES["resume"]["type"] == "application/vnd.openxmlformats-officedocument.wordprocessingml.document")) && $_FILES['resume']["size"] < 20000)
{
if ($_FILES['resume']["error"] > 0)
{
echo "Return Code: " . $_FILES['resume']["error"] . " ";
}
else
{
move_uploaded_file($_FILES['resume']["tmp_name"], $targate2);
}
}
else
{
//echo "Invalid file";
}
echo "success";die;
}
else{ echo "fail";die;}
모든 유형의 이미지에서 작동합니다. 그러나 텍스트 파일의 경우 (doc & docx 파일)의 경우은 성공을 인쇄하지만 이미지 파일 만 업로드됩니다.
나는이 문제가 무엇인지 된 .txt 을 위해 잘 작동
if (($_FILES["resume"]["type"] == "text/plain")
&& $_FILES['resume']["size"] < 20000)
이
if ((($_FILES["resume"]["type"] == "text/plain")
|| ($_FILES["resume"]["type"] == "application/msword")
|| ($_FILES["resume"]["type"] == "application/vnd.openxmlformats-officedocument.wordprocessingml.document")) && $_FILES['resume']["size"] < 20000)
조건을 대체? 내가 잘못하고있는 곳에서?
시도는 Word 파일에 대한'$ _FILES [ "이력서"] [ "유형"]'의 값을 에코합니다. 검사 대상 MIME과 다를 수 있습니다. – Raptor
else { // echo "잘못된 파일"; }이 주석 처리를 제거하고 시도하십시오 –
그것은 어떤 조건에서도 없기 때문에 항상 성공을 인쇄합니다. –