PHP не может найти файл, даже если он существует - PullRequest
0 голосов
/ 29 августа 2011

Все.

Я использую скрипт изменения размера изображения , который изменяет размеры изображений JPG. Он прекрасно работал на моем удаленном сервере, но, к сожалению, не работает на клиентском сервере. : - |

Каталоги доступны для записи (разрешение установлено на 777). Все, что я получаю, это:

Error: image does not exist: /home/content/u/s/e/username/correct/path/to/existing/file.jpg

Вот фрагмент кода, который может быть полезен при отладке:

// Images must be local files, so for convenience we strip the domain if it's there
$image          = preg_replace('/^(s?f|ht)tps?:\/\/[^\/]+/i', '', (string) $_GET['image']);
// ...
// Strip the possible trailing slash off the document root
$docRoot    = preg_replace('/\/$/', '', DOCUMENT_ROOT);
//...
if (!file_exists($docRoot . $image))
{
    header('HTTP/1.1 404 Not Found');
    echo 'Error: image does not exist: ' . $docRoot . $image;
    exit();
}

Обратите внимание, что мне как разработчику было предоставлено разрешение на доступ к подкаталогу корневого каталога.

Надеюсь, я прояснил проблему. Я в растерянности относительно того, что происходит за сценой. Помощь очень ценится

1 Ответ

1 голос
/ 29 августа 2011

PHP должен иметь доступ ко всем каталогам, ведущим к файлу, а не только к самому файлу.Если у него нет разрешений на ВСЕ каталоги, то равнозначно поставить "Free! Take one!"Диспенсер брошюр внутри хранилища внутри Форт-Нокса - бесполезен.

...