php - file_exists() 对于名称中包含空格的文件返回 false

标签 php file-exists

我有这个代码:

$url     = 'http://www.bgelectronics.eu/image/cache/data/cantell kabeli /14222-228x228.jpg';
$headers = get_headers($url, true);
var_dump($headers);

由于文件名中存在空格,这会返回丢失文件的错误:

array(6) { [0]=> string(34) "HTTP/1.1 500 Internal Server Error" ["Date"]=>     
string(29) "Tue, 24 Mar 2015 16:11:18 GMT" ["Server"]=> string(6) "Apache" 
["Content-Length"]=> string(3) "677" ["Connection"]=> string(5) "close" 
["Content-Type"]=> string(29) "text/html; charset=iso-8859-1" } file size:677

请问有什么建议吗?

最佳答案

问题在于file_exists()是针对文件系统的,而不是针对http的。您需要使用服务器目录路径。如果它与您的代码位于同一服务器上,则它应该看起来像:

if(file_exists('image/cache/data/cantell kabeli /202441-500x500.jpg')){
....

如果在远程服务器上,请尝试:

if(file_get_contents('http://www.bgelectronics.eu/image/cache/data/cantell kabeli /202441-500x500.jpg')){
...

您可以在这里找到许多其他方法:How can one check to see if a remote file exists using PHP?

关于php - file_exists() 对于名称中包含空格的文件返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29236299/

相关文章:

javascript json 未捕获语法错误 : Unexpected number

java - Java 消息服务 (JMS) 与 PHP 上的结构相似或相同吗?

php - jQuery、AJAX : Can't insert data from form and return to same page

PHP = 在字符串末尾附加一个 0

php - 使用 file_exists() 检查 WordPress 上传文件夹

powershell 如果文件不存在日志字符串到文件

PHP 无法识别其中包含撇号的文件名

php - Drupal PHP 序列化和反序列化

php - file_exists() 在 PHP 中太慢了。任何人都可以提出更快的替代方案吗?

c - 当文件实际存在时 open() 文件不存在