大,StackOverflow的編輯改變了這個問題,我的標題用蹩腳的英語PHP文件拷貝有空格的文件名
我不能找到一種方法來複制一個文件,在文件名與PHP的空間。我試圖用"\ "
替換空間,但它不起作用。
PHP的警告: 副本(/家/用戶/圖片/蜂窩\ 棉\羅\ 1.JPG): 未能打開流:沒有這樣的文件或目錄
大,StackOverflow的編輯改變了這個問題,我的標題用蹩腳的英語PHP文件拷貝有空格的文件名
我不能找到一種方法來複制一個文件,在文件名與PHP的空間。我試圖用"\ "
替換空間,但它不起作用。
PHP的警告: 副本(/家/用戶/圖片/蜂窩\ 棉\羅\ 1.JPG): 未能打開流:沒有這樣的文件或目錄
處所應不成問題。這可能是一個權限問題。 PHP是否有權限訪問該文件?
做一個file_exists()
拳頭:
$fileToCopy = '/home/user/images/Honeycomb Cotton Polo 1.jpg';
$target = '/var/www/images/';
if (file_exists($fileToCopy)) {
if (is_readable($fileToCopy)) {
if (is_writeable(dirname($target))) {
copy($fileToCopy, $target);
} else {
die('You dont have permission to write into '.dirname($target));
}
} else {
die('You dont have permission to read '.$fileToCopy);
}
} else {
die('File '.$fileToCopy.' does not exist');
}
檢查一個文件是否存在是一件好事,但它不能解決存在並且不存在的文件的問題。 – Sylverdrag 2011-05-20 10:38:27
如果找不到它,它不存在於您正在查看的路徑中! – powtac 2011-05-20 10:39:55
不開玩笑。但是IT不回答這個問題。該OP試圖複製一個文件,並觸發「找不到文件」錯誤。顯然,OP認爲該文件存在於該位置。問題是「爲什麼找不到文件?」。在您收到錯誤消息說沒有找到文件後添加file_exists()並不能幫助回答問題。唯一會發生的是,OP不會收到原始錯誤信息,而是會收到您的自定義錯誤消息,告訴他幾乎是同樣的事情。 – Sylverdrag 2011-05-20 11:14:17
%20
你的情況替換空間: 副本(/家/用戶/圖片/蜂窩\%20Cotton \%20Polo \%201。 JPG)
%20
$file_path = '/home/user/images/Honeycomb Cotton Polo 1.jpg';
$file_path = preg_replace('/\s/i', '%20', $file_path);
$new_path = '/home/user/images/Honeycomb-Cotton-Polo-1-copy.jpg';
copy($file_path, $new_path);
是什麼,如果你不逃個錯誤信息,請更換空間帶反斜槓的空格? – Lasar 2011-05-20 10:33:33