Почему не работает file_exists ()? - PullRequest
1 голос
/ 04 июня 2009

Вот мой PHP-код:

[root@file htdocs]# vi test.php
<?php

var_dump(file_exists('/usr/local/apache2/resumes/28/"Chapel Hill"/franky_li/"CV.doc"'));
?>

"test.php" [New] 5L, 100C written
[root@file htdocs]# php test.php 
bool(false)

, который говорит, что файл не существует, но на самом деле он существует:

[root@file htdocs]# ls -l /usr/local/apache2/resumes/28/"Chapel Hill"/franky_li/"CV.doc"
-rw-r--r-- 1 daemon root 36864 Oct 17  2008 /usr/local/apache2/resumes/28/Chapel Hill/franky_li/CV.doc
[root@file htdocs]# 

кажется, это действительно проблема с цитатой:

<?php


var_dump(file_exists('/usr/local/apache2/resumes/28/Chapel Hill/franky_li/CV.doc'));
?>
~
~
"test.php" 5L, 96C written
[root@file htdocs]# php test.php 
bool(true)
[root@file htdocs]# 

исправлено с помощью следующего конвертера:

preg_replace('/\/([^\/\s]+\s+[^\/]+)(?:\/|$)/','/"${1}"/',$file);

чтобы заставить его работать в bash!

Ответы [ 2 ]

3 голосов
/ 04 июня 2009

Попробуйте удалить двойные кавычки, поскольку они уже заключены в одинарные кавычки.

0 голосов
/ 04 июня 2009

Проверьте руководство для file_exists .

Обратите внимание на этот раздел:

"Эта функция возвращает FALSE для файлов, недоступных из-за ограничений безопасного режима. Однако эти файлы по-прежнему могут быть включены, если они находятся в safe_mode_include_dir."

Я предполагаю, что вы используете

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...