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

上传页面的代码如下<html><body><formaction="upload_file.php"method="post"enctype="multipart/for... 上传页面的代码如下
<html>
<body>

<form action="upload_file.php" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file" />
<br />
<input type="submit" name="submit" value="Submit" />
</form>

</body>
</html>

实现上传功能的代码:
<?php
if ((($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 20000))
{
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"];
//var $str;
$str = strtok($filesname,".");
//string
mkdir($str);
move_uploaded_file($_FILES["file"]["tmp_name"],$str);

echo "Stored in: " . "{$str}/" . $_FILES["file"]["name"];
}
}
else
{
echo"fail";// "lInvalid fe";
}
?>
但是 当我上传的时候,出现以下信息。。。旺高手解答 啊啊 啊啊啊
Upload: acb.jpg
Type: image/pjpeg
Size: 8.201171875 Kb
Temp file: F:\wamp\tmp\phpEFF0.tmp

Warning: move_uploaded_file(acb) [function.move-uploaded-file]: failed to open stream: Permission denied in F:\wamp\www\wenjian\upload_file.php on line 30

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'F:\wamp\tmp\phpEFF0.tmp' to 'acb' in F:\wamp\www\wenjian\upload_file.php on line 30
Stored in: acb/acb.jpg
展开
 我来答
匿名用户
2011-03-25
展开全部
没什么问题。
检查目标文件是不是存在,需要不存在。
检查目标目录是不是存在,需要存在。
如果是APACHE,检查APACHE有没有设置可以写入那个目录,找个保证能写入的目录试试。
检查执行APACHE或者IIS的用户是否有权限写入那个目录。
把目标(你的$str写成绝对路径试试,用realpath函数)
追问
如果 我直接在这两个upload_file.php和upfile.php的同一目录下 建立一个upload文件夹,不用mkdir($str)建立文件目录,这样能够存入upload文件夹中,但是用mkdir($str)建立文件目录,就出现错误信息。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Storm代理
2023-07-25 广告
StormProxies是一家提供动态代理服务器服务的企业,旨在帮助用户更好地管理网络访问和安全。以下是一些关于StormProxies的IP动态代理服务的特点:1. 高匿名性:StormProxies的动态代理服务器具有高匿名性,可以有效... 点击进入详情页
本回答由Storm代理提供
majiguang
2011-03-25 · TA获得超过757个赞
知道小有建树答主
回答量:1024
采纳率:0%
帮助的人:1362万
展开全部
文件夹没有写的权限,mkdir($str);
改为mkdir($str,'777’);
再检查上一级目录的权限问题
追问
改了。。但是还是出现上面的错误。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
推荐于2017-11-24
展开全部
<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";
}
?>
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式