Имеется скрипт написанный на PHP 5.6 Имеется примонтированный к серверу на базе Debian 8 дополнительный диск, на котором лежат фотографии и xml файлы. В связи с тем что данных много (15гб) и они нужны только на чтение, не хотелось бы их хранить в том же каталоге что и сам сайт. В итоге я создал символьные ссылки на два каталога где лежат по папкам эти данные. Если взять например редактор nano то он прекрасно справляется с редактированием файла в этом каталоге по новому пути. Но file_exists в скрипте говорит что нет такого файла... и соответственно файл не читается и не отдается скриптом.
Можно ли как то решить вопрос?
ls -l /var/www/prof/data/www/xxx.ru/Index1
root prof 17 Apr 20 11:53 /var/www/prof/data/www/xxx.ru/Index1 -> /mnt/disk2/Index1
Всегда читайте сперва на сайте http://php.net/ и до конца (+ комментарии ), до 90 % ответов лежат там
К сожалению, file_exists не может связаться с удаленными серверами, поэтому я использовал функцию fopen.
<?php
function fileExists($path){
return (@fopen($path,"r")==true);
}
?>
file_exists: Проверка происходит с помощью реальных UID/GID, а не эффективных идентификаторов.чтоб проверять через нее надо в path передавать реальный path а не symlink.
Примечание. Результаты этой функции кэшируются. Смотрите
clearstatcache () для получения более подробной информации.
Это довольно большая нота. Не забывайте об этом, так как это может
заставить ваш file_exists () вести себя непредсказуемо - возможно,
во время production time;)
Удачи !
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости