Переместите файл и переименуйте его

Изображенный PHP's переименовывает, был бы мой лучший выбор. Я не видел многих примеров о том, как использовать относительные URL в нем, хотя, таким образом, я отчасти пошел на компромисс. Так или иначе это дает мне отклоненное разрешение:

Я хочу сделать это:

$file = "../data.csv";
rename("$file", "../history/newname.csv");

То, куда../, конечно, возвратился бы 1 каталог от того, где сценарий, работало. Я не мог выяснить путь..., таким образом, я сделал это вместо этого:

$file = "data.csv";
$path = dirname(realpath("../".$file));
rename("$path/$file", "$path/history/newname.csv");

Однако я получаю отклоненное разрешение (да, папка истории принадлежит www-данным и да, data.csv принадлежит www-данным). Я думал, что это было странно, таким образом, я попробовал простой тест:

rename( 'tempfile.txt', 'tempfile2.txt' );

и я удостоверился, что www-данные имели полный контроль над tempfile.txt..., все еще отклонили разрешение. Почему? файл Ваше переименование его для существования? разве Вы не можете переименовать как mv Linux? Таким образом, я вместо этого просто копирую () и удаляю связь ()?

5
задан hakre 24 December 2012 в 22:53
поделиться