У меня есть скрипт, который перемещает файл, а затем пытается получить файл для создания эскиза. Тем не менее, он всегда говорит, что файл не существует. Если я попробую file_exists()
на файл после выполнения скрипта, кажется, найти его.
Части моего кода:
// Move file, returns a path e.g. "\home\sambam\public_html\sa\storage\files\0\rxugn7OXoHNRY4J.mp4"// This also sets file permissions to 0755
$source = $fs->move_from_tmp($filename);
// clear cache
clearstatcache(true);
// Now file_exists returns false
if(file_exists($source)){
// generate thumbnail;
}
Move_from_tmp:
public function move_from_tmp($filename){
// $this->tmp_folder = /home/sambam/public_html/ss/storage/tmp
// this->folder = /home/sambam/public_html/ss/storage/files/0
if(!is_readable($this->tmp_folder.self::DS.$filename)){ chmod($this->tmp_folder.self::DS.$filename, 0755); }
$ext = strtolower(pathinfo(basename($filename), PATHINFO_EXTENSION));
$new_filename = pathinfo($filename, PATHINFO_FILENAME);
// Move file
if(rename($this->tmp_folder.self::DS.$filename, $this->folder.self::DS.$new_filename.".".$ext)){
return $this->folder.self::DS.$new_filename.".".$ext;
}else{
return false;
}
}
Это работает на моей локальной машине, которая является Windows, но, кажется, не работает на моей рабочей машине, которая является Linux CentOs.
Что я тоже пробовал:
Задача ещё не решена.
Других решений пока нет …