Intereting Posts
Как получить доступ к переменной _context в макросе в TWIG? Как я могу заставить PHP скомпилировать документ LaTeX, если он (www-data) не может получить доступ к требуемым пакетам? Маршрут к нескольким подпапкам в CodeIgniter Структура данных MySQL по сравнению с рассчитанными данными для данных типа Checkbox Самый безопасный способ передачи переменных между двумя страницами с PHP php json_encode кодирует одни и те же данные дважды PHP DateTime класс, как и v5.3 для PHP 5.2 Почему предупреждение: mysqli_query (): Не удалось получить mysqli? Вытяните все изображения из указанного каталога, а затем отобразите их необходимо создать эскиз для загрузки видео (очень простой код) Получают ли комментарии php время сервера? Загружать альтернативный контент страницы в div onload PHP PDO-код для вставки в MySQL db не выполняется PHP Подсчитайте раунд тысяч до уровня стиля K, как facebook Share. , , Кнопка кнопки Twitter API-интерфейс API Google PHP: Недостаточное разрешение

PHP: переместить с переименованием не удается, но комбинация операций копирования и отмены

Я пытаюсь использовать rename PHP для перемещения файла в другую папку (а также переименовать файл на том же шаге). Однако rename всегда возвращает false . С другой стороны, использование комбинации copy и unlink работает просто отлично. Что может быть причиной этого?

Соответствующий код выглядит следующим образом:

  if (!rename($targetpath, $backuppath)) { // if rename fails, try with copy and delete if (!copy($targetpath, $backuppath)) die("9\nCould not move existing file to backup"); touch($backuppath, filemtime($targetpath)); if (!unlink($targetpath)) die("9\nCould not move existing file to backup"); } 

Пути были бы, например,

 $targetpath: /path/to/plots/some.pdf $backuppath: /path/to/plots/old/some.pdfX14068815860 

Начните с проверки того, что ошибка была:

 print_r(error_get_last()); 

Какую версию php вы используете? В старых версиях rename работает только в том случае, если оба источника и адресата находятся в одной и той же файловой системе. В некоторых системах rename также завершится неудачей, если у вас есть открытый файловый дескриптор для этого файла.