我正在使用move_uploaded_file函数上传文件。文件被移到正确的目录中,我看到它的物理存在,但我无法打开它们。我得到“访问被拒绝”错误。我查看文件的属性,发现它没有所有者。上传的文件没有文件所有者(在PHP中使用move_uploaded_file)
顺便说一句,我在Windows 2008
我检查的权限运行IIS,一切设置正确。运行Web服务的用户具有完全的管理权限。
此外,我用copy()替换了move_uploaded_file函数,并且我能够访问该文件。它也让用户运行服务器作为其所有者。
究竟什么可能是错的?
谢谢感谢您的帮助。
更新: 移动文件后,我尝试使用chmod($ filename,0655)设置权限,但也没有工作。
更新2(解决方案): 好吧,我想通了。 系统管理员没有设置upload_tmp_dir。一旦我们添加了一个路径,它就起作用了。
的源代码:
// Check if file was uploaded
if(isset($_FILES['formname']) && $_FILES['formname']['size'] > 8){
$displayName = $_FILES['formname']['name'];
$displayName = unixfilename(basename($displayName));
$tempName = $_FILES['formname']['tmp_name'];
$filename = $_FILES['formname']['name'];
$fileType = substr($filename, strrpos($filename,".")+1);
$filename = substr($filename,0,strrpos($filename,".")) . date("_Ymd_His") . ".$fileType"; // Add unique identifier
$filename = unixfilename(basename($filename));
$destinationPath = "xx\yy\zz\\";
// Check if the file is of a valid type
if($fileType == "txt"){
// Check if file exists in processor folder
if(!file_exists($destinationPath.$filename)){
if(move_uploaded_file($tempName,$destinationPath.$filename)){
if(file_exists($destinationPath.$filename)){
// success
请显示源代码。 – 2010-11-01 20:59:06
新增源代码 – Kel 2010-11-01 21:06:23