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盘?
[解决办法]
$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)/共享名/
当然,这是不能限定访问人和口令的