首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

move_uploaded_file疏失

2012-08-11 
move_uploaded_file出错我想上传文件,但是出现:Warning: move_uploaded_file(z:/document/src/9q6vfjg6nif

move_uploaded_file出错
我想上传文件,但是出现:
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是从别的机器上映射过来的盘符。

[解决办法]
apache的运行身份是否有权操作z盘?
[解决办法]

探讨

引用:

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

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

[解决办法]
PHP code
$result2=move_uploaded_file($_FILES["file"]["tmp_name"],"z:\\document\\src\\".$newname);
[解决办法]
你的 z:/document/src 目录存在吗?
[解决办法]
上传至根目录下的upload文件夹也报错? 错误信息就是说路径错误的意思啊 ,不会那么奇怪吧。
------解决方案--------------------


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

前提是当前目录下存在upload目录
[解决办法]
应该是就是权限问题,路过~!
[解决办法]
z是从别的机器上映射过来的盘符。

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

热点排行