Переименование фигурного PHP будет моим лучшим выбором. Я не видел много примеров того, как использовать в нем относительные URL-адреса, поэтому я как бы скомпрометирован. В любом случае, это даст мне разрешение отказано:Перенесите файл и переименуйте его
Я хочу, чтобы это сделать:
$file = "../data.csv";
rename("$file", "../history/newname.csv");
Где ../ конечно бы вернуться 1 каталог, откуда запускается скрипт RAN. Я не мог понять, как ... так что я сделал это вместо:
$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 ... до сих пор получил разрешение отказано. Зачем? файл, который вы переименовываете, должен существовать? не можете ли вы переименовать, как linux mv? Поэтому вместо этого я просто копирую() и unlink()?
На самом деле '644' было бы лучше, так как файл CSV не должен быть исполняемым. –
да chmod is 644, я даже пытался 777 заставить его работать. Ничего не работает. и apache - www-data, я знаю это, потому что я перемещаю другие вещи и нуждаюсь в том, чтобы быть www-данными, плюс я проверил верх. – ParoX
Полный путь к data.csv будет /var/imvu/products/ht/clients/test/data.csv где/var/принадлежит root, imvu через test принадлежит wwwftp (ftp i сделал так, что я не ftp в корень). Также, как я уже сказал, каталог, где его происходит (история), принадлежит www-данным. – ParoX