急!!!关于PHP move_upload_file()。如何把上传的文件保存在指定的目录下

发布网友

我来回答

3个回答

热心网友

没什么问题。
检查目标文件是不是存在,需要不存在。
检查目标目录是不是存在,需要存在。
如果是APACHE,检查APACHE有没有设置可以写入那个目录,找个保证能写入的目录试试。
检查执行APACHE或者IIS的用户是否有权限写入那个目录。
把目标(你的$str写成绝对路径试试,用realpath函数)追问如果 我直接在这两个upload_file.php和upfile.php的同一目录下 建立一个upload文件夹,不用mkdir($str)建立文件目录,这样能够存入upload文件夹中,但是用mkdir($str)建立文件目录,就出现错误信息。

热心网友

文件夹没有写的权限,mkdir($str);
改为mkdir($str,'777’);
再检查上一级目录的权限问题追问改了。。但是还是出现上面的错误。

热心网友

<html>
$str = strtok($filesname,"."); //这是可以执行的,为文件名去掉小数点和小数点以后部分的字符串
mkdir($str);//这也是可以执行的,创建了一个用上传的文件名去掉后缀为名字的文件夹
move_uploaded_file($_FILES["file"]["tmp_name"],$str);
//此处的$str是abc,$str需要是 文件夹名/文件名.后缀 的格式,比如换成./'.$str.'/'.$filesname就可以执行了,也可以写成下面那样

<html>
<body>

<form action="upload_file.php" method="post" enctype="multipart/form-data">
<label for="file">ÎļþÃû:</label>
<input type="file" name="file" id="file" />
<br />
<input type="submit" name="btn" value="Ìá½»" />
</form>

</body>
</html>
<?php
//echo '1'.$_FILES["file"]["size"];

if(strlen($_FILES["file"]["type"]) <= '0'){
exit('ÇëÑ¡ÔñͼƬ');
}
if ((($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 2000000))
{

if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";
$filesname = $_FILES["file"]["name"];
$str='upload_img';
if(!file_exists($str)){
mkdir($str);
}

move_uploaded_file($_FILES["file"]["tmp_name"],'./'.$str.'/'.$filesname);

echo "Stored in: ". $str.'/'.$_FILES["file"]["name"];
}
}
else
{
echo"fail";// "lInvalid fe";
}
?>

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com