php文件未上载到临时目录
//uploadForm.htmlphp文件未上载到临时目录,php,uploading,Php,Uploading,//uploadForm.html <html> <body> <form action="upload_file.php" method="post" enctype="multipart/form-data"> <label for="browseFile">Filename : </label> <input type="file" name="file
<html>
<body>
<form action="upload_file.php" method="post" enctype="multipart/form-data">
<label for="browseFile">Filename : </label>
<input type="file" name="file" id="browseFile"><br>
<input type="submit" name="submit" value="Submit">
</body>
</html>
//上传_file.php
<?php
$allowedExt = array("png","jpg");
$temp = explode(".",$_FILES["file"]["name"]);
$extension = end($temp);
echo "uploading...";
if((($_FILES["file"]["type"]=="image/png") || ($_FILES["file"]["type"]=="image/jpg")) && ($_FILES["file"]["size"] < 1000000))
{
echo "success";
if($_FILES["file"]["error"] > 0)
{
echo "error in uploading" . $_FILES["file"]["error"]."<br>";
}
else
{
echo "<p>uploaded successfully</p>";
}
}
else
echo "invalid file" ;
echo $_FILES["file"]["name"]."stored in ".$_FILES["file"]["tmp_name"]."<br>";
move_uploaded_file($_FILES["file"]["tmp_name"],"uploads/".$_FILES["file"]["name"]);
echo "moved Successfully";
?>
当我尝试回显临时目录名时,它是空的。上载的文件丢失。
我没有把它放在MAMP/htdocs文件夹中,也没有放在/tmp/目录中
我在/MAMP/htdocs/中没有uploads目录。如果它不存在,程序会创建一个目录吗 $\u FILES[name][tmp\u name]不存在,它应该是$\u FILES[file][tmp\u name]在最后的说明中,您有$\u FILES['name']['tmp\u name']而不是$\u FILES['file']['tmp\u name'] 顺便说一下,您的脚本中有一些错误: 即使有人上传了一个无效文件,您也会向他们显示一条错误消息,但您仍然会将其移动到最终位置。 $\u FILES[file][type]是由浏览器ie:客户端发送的值。恶意攻击者可能会向您发送任何类型的文件,并将其伪装为image/png,而您信任它。您不能信任此值。相反,您可以使用,它将返回一个具有图像mime类型的数组,该数组由服务器检测,即:由您检测。要检测非图像的mime类型,可以具体地使用。 此外,如果uploads文件夹不存在,php脚本将不会创建它,而是显示一个错误,并且什么也不做。您必须首先创建此文件夹,并确保运行php脚本的用户通常与运行http服务器的用户具有该目录的写入权限 编辑:在临时目录中看不到任何上载的文件,因为引用: 文件将在结束时从临时目录中删除 如果请求未被移开或重命名,则返回该请求
而且,为每一个响应钓鱼的人感到羞耻,因为他们想得到便宜又容易的代表分数。@STTLCU,也为你没有解释任何东西来帮助人们学习而感到羞耻。@CarlosCampderrós我更关心这个社区的价值,而不是懒惰的程序员的价值。我很乐意帮助那些在研究中表现出努力的人,因此那些真正尊重我回答问题的时间和努力的人。吸血鬼和懒惰的程序员在这里不受欢迎。
$allowedExt = array("png","jpg");
echo $temp = explode(".",$_FILES["file"]["name"]);
$extension = end($temp);
echo "uploading...";
if ($_FILES["file"]["error"] > 0)
{
echo "Error: " . $_FILES["file"]["error"] . "<br>";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"upload/" . $_FILES["file"]["name"]);
echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
}