发布网友
共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";
}
?>