move_uploaded_file出错

rosecshly0928 2012-07-09 11:09:04
我想上传文件,但是出现:
Warning: move_uploaded_file(z:/document/src/9q6vfjg6nifjok4uc7bcvh36c0.doc): failed to open stream: No such file or directory in E:\www\foxconverter\document\convert-to-pdf.php on line 77
Warning: move_uploaded_file(): Unable to move 'C:\WINDOWS\Temp\php52.tmp' to 'z:/document/src/9q6vfjg6nifjok4uc7bcvh36c0.doc' in E:\www\foxconverter\document\convert-to-pdf.php on line 77

html部分:
<form id="document_form" action="convert-to-pdf.php" method="POST" enctype="multipart/form-data">
<div>
<label for="file">
Upload your document you want to convert to PDF
</label>
<br />
<input type="file" id="file" name="file" />
</div>
<div>
<input type="button" value="submit" name="sub" onclick="submitdata()" />
</div>
</form>
php部分:
<?php
$rootdoc = $_SERVER['DOCUMENT_ROOT'];
require_once $rootdoc."/db/db.php";
$id =session_id();
if(($_SERVER['REQUEST_METHOD']=='POST'))
{
if(!is_uploaded_file($_FILES['file']['tmp_name']))
{
die("");
}
if((($_FILES["file"]["type"]=="text/plain")||
&& ($_FILES["file"]["size"] < 2000000))
{
$oldname=$_FILES["file"]["name"];
$old_arr=explode(".",$oldname);
$newname=session_id().".".$old_arr[1];

//$result2=copy($_FILES["file"]["tmp_name"],"e:/document/src/".$newname);
//$$result2=move_uploaded_file($_FILES["file"]["tmp_name"],"upload/".$newname);
$result2=move_uploaded_file($_FILES["file"]["tmp_name"],"z:/document/src/".$newname);
}
}
else
{
die("");
}
?>
我换到别的盘的绝对路径就可以,我使用z盘的绝对路径和使用服务器根目录的相对路径upload的时候就会出现这种错误。
z是从别的机器上映射过来的盘符。
...全文
414 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
zecool20 2012-07-10
  • 打赏
  • 举报
回复
应该是就是权限问题,路过~!
rosecshly0928 2012-07-10
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 的回复:]

$result2=move_uploaded_file($_FILES["file"]["tmp_name"],"./upload/".$newname); //这样呢

前提是当前目录下存在upload目录
[/Quote]
这样也试过不可以
xuzuning 2012-07-10
  • 打赏
  • 举报
回复
z是从别的机器上映射过来的盘符。

这个“映射盘”只是 window 中才有的
既然 php 是跨平台的,很自然内置的函数就不能使用只在特定操作系统中才有的设备
你可以尝试使用统一资源定位来描述://机器名(或ip)/共享名/
当然,这是不能限定访问人和口令的
  • 打赏
  • 举报
回复

$result2=move_uploaded_file($_FILES["file"]["tmp_name"],"z:\\document\\src\\".$newname);

另就是权限问题
qq120848369 2012-07-09
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

引用 1 楼 的回复:

apache的运行身份是否有权操作z盘?

怎么看apache是否有权限操作z盘,我可以手动在z盘新建文件夹和文件
[/Quote]

看httpd.conf里是否设置了运行时用户.
rosecshly0928 2012-07-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

apache的运行身份是否有权操作z盘?
[/Quote]
怎么看apache是否有权限操作z盘,我可以手动在z盘新建文件夹和文件
qq120848369 2012-07-09
  • 打赏
  • 举报
回复
apache的运行身份是否有权操作z盘?
一起混吧 2012-07-09
  • 打赏
  • 举报
回复
$result2=move_uploaded_file($_FILES["file"]["tmp_name"],"./upload/".$newname); //这样呢

前提是当前目录下存在upload目录
rosecshly0928 2012-07-09
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]

上传至根目录下的upload文件夹也报错? 错误信息就是说路径错误的意思啊 ,不会那么奇怪吧。
[/Quote]
换成根目录下的upload也会出错,使用下面的方式会出错:
$result2=move_uploaded_file($_FILES["file"]["tmp_name"],"upload/".$newname);
一起混吧 2012-07-09
  • 打赏
  • 举报
回复
上传至根目录下的upload文件夹也报错? 错误信息就是说路径错误的意思啊 ,不会那么奇怪吧。
rosecshly0928 2012-07-09
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

你的 z:/document/src 目录存在吗?
[/Quote]
存在的
一起混吧 2012-07-09
  • 打赏
  • 举报
回复
你的 z:/document/src 目录存在吗?
rosecshly0928 2012-07-09
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

引用 3 楼 的回复:

引用 1 楼 的回复:

apache的运行身份是否有权操作z盘?

怎么看apache是否有权限操作z盘,我可以手动在z盘新建文件夹和文件


看httpd.conf里是否设置了运行时用户.
[/Quote]
还是不明白你指的http.conf里的哪个设置

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧