急!!!关于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 展开
<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 展开
3个回答
2011-03-25
展开全部
没什么问题。
检查目标文件是不是存在,需要不存在。
检查目标目录是不是存在,需要存在。
如果是APACHE,检查APACHE有没有设置可以写入那个目录,找个保证能写入的目录试试。
检查执行APACHE或者IIS的用户是否有权限写入那个目录。
把目标(你的$str写成绝对路径试试,用realpath函数)
检查目标文件是不是存在,需要不存在。
检查目标目录是不是存在,需要存在。
如果是APACHE,检查APACHE有没有设置可以写入那个目录,找个保证能写入的目录试试。
检查执行APACHE或者IIS的用户是否有权限写入那个目录。
把目标(你的$str写成绝对路径试试,用realpath函数)
追问
如果 我直接在这两个upload_file.php和upfile.php的同一目录下 建立一个upload文件夹,不用mkdir($str)建立文件目录,这样能够存入upload文件夹中,但是用mkdir($str)建立文件目录,就出现错误信息。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
威孚半导体技术
2024-08-19 广告
2024-08-19 广告
威孚(苏州)半导体技术有限公司是一家专注生产、研发、销售晶圆传输设备整机模块(EFEM/SORTER)及核心零部件的高科技半导体公司。公司核心团队均拥有多年半导体行业从业经验,其中技术团队成员博士、硕士学历占比80%以上,依托丰富的软件底层...
点击进入详情页
本回答由威孚半导体技术提供
展开全部
文件夹没有写的权限,mkdir($str);
改为mkdir($str,'777’);
再检查上一级目录的权限问题
改为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";
}
?>
$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";
}
?>
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询