我遇到的问题是move_uploaded_file
返回true但文件未显示在目录中。目标文件夹设置为chmod 0755
,我也尝试了0777
。也许它的移动但不显示?有没有办法刷新ftp客户端,所以它显示?无论如何,这里有一些代码:
public function moveFile($file,$dir){
if(count($this->errors) == 0){
$new_file_name = rand(100000000000,999999999999).'.'.''.$this->getExt().'';
if(file_exists($file)){
unlink($file);
}
$moveit = move_uploaded_file($this->filesArray['file_tmp_name'],"../$dir/$this->user/$new_file_name");
if($moveit == true){
return $this->getExt()."<br /><img src='/$dir/$this->user/$new_file_name'/>";
}else{
return false;
}
}else{
return $this->errors;
}
}
以下是它的使用方法:
$upload = new Upload($files_array,'1048576',$log_user_id);
print_r($upload->getFileArray());
echo "<br />";
if(count($upload->checkFile()) == 0){
$moveit = $upload->moveFile("","members");
if($moveit == true);
echo $moveit;
}else{
print_r($upload->checkFile());
}
正如您所看到的,如果一切正常,我使此方法返回文件扩展名和图像本身。我得到了扩展名和破损的图像,当我查看服务器上的目录时,文件不存在。任何想法为什么会发生这种情况以及如何解决它?