Я слишком долго был в этой ошибке, поэтому я ищу какую-то помощь у более опытных программистов на сервере.
Я использую стек Битна Битнами. Я пытаюсь использовать PHP-скрипт (maintenance.php) для перемещения файлов на сервере. Поэтому я использую rename(filepath, newpath)
в моем скрипте. Однако PHP-скрипт не может найти файл, даже если он существует на сервере.
SOLVED: Проблема заключалась в том, что я вызывал сценарий из двух разных мест во время отладки (мой браузер и оболочка linux). "Рабочий каталог" в каждом из этих мест был другим, поэтому файловые пути представляли разные местоположения в зависимости от того, откуда я вызвал PHP-скрипт.
В корне нет каталога pictures
поэтому /pictures
работают. Вместо этого вам придется использовать абсолютный путь к каталогу pictures
.
Существует несколько способов сделать это.
Вы можете использовать $_SERVER['DOCUMENT_ROOT']
который даст вам root directory under which the current script is executing
.
Кроме того, вы можете использовать __FILE__
который предоставит вам путь к текущему файлу. С dirname(__FILE__)
вы можете получить каталог, а затем можете работать с каталогом изображений, перейдя на уровень вниз, используя ../
.
Это также аналогичный вопрос, который вы можете проверить,
/