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

解决方案 »

  1.   

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

  2.   

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

  3.   


    看httpd.conf里是否设置了运行时用户.
      

  4.   


    $result2=move_uploaded_file($_FILES["file"]["tmp_name"],"z:\\document\\src\\".$newname); 另就是权限问题
      

  5.   

    还是不明白你指的http.conf里的哪个设置
      

  6.   

    你的 z:/document/src 目录存在吗?
      

  7.   

    上传至根目录下的upload文件夹也报错? 错误信息就是说路径错误的意思啊 ,不会那么奇怪吧。
      

  8.   

    换成根目录下的upload也会出错,使用下面的方式会出错:
    $result2=move_uploaded_file($_FILES["file"]["tmp_name"],"upload/".$newname);
      

  9.   

    $result2=move_uploaded_file($_FILES["file"]["tmp_name"],"./upload/".$newname);  //这样呢前提是当前目录下存在upload目录
      

  10.   

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