2つの異なるフォルダに2つのファイル(画像とテキスト)をアップロードするコードがあります。
$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ファイル)の場合は正常に印刷されますが、アップロードされるのは画像ファイルのみです。
これを交換すると
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"]["type"] == "text/plain")
&& $_FILES['resume']["size"] < 20000)
これは.txtで正常に機能します 問題は何ですか?私はそれを間違っているところですか?