피규어 PHP의 이름 바꾸기가 최선의 방법입니다. 나는 상대 URL을 사용하는 방법에 대한 많은 예제를 보지 못 했으므로 다소 공격을 받았다. 어느 쪽이든,이 거부 나에게 권한을 부여 :파일 이동 및 이름 바꾸기
나는이 작업을 수행 할 수 :
$file = "../data.csv";
rename("$file", "../history/newname.csv");
물론 ../ 스크립트가 실행 된중인 위치에서 다시 한 디렉토리 갈 것 곳.
$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처럼 이름을 바꿀 수 있습니까? 그래서 대신 copy() 및 unlink()를 사용 하시겠습니까?
CSV 파일을 실행해서는 안되기 때문에 사실 '644'가 좋습니다. –
예 chmod가 644인데, 나는 그것을 작동 시키려고 777을 시도했습니다. 아무것도 작동하지 않습니다. 아파치는 www- 데이터입니다. 다른 물건을 이동시키고 www- 데이터가 필요하기 때문에 이것을 압니다. 플러스 체크를했습니다. – ParoX
data.csv의 전체 경로는 /var/imvu/products/ht/clients/test/data.csv입니다. 여기서/var /는 root가 소유하고 있으며, test는 wwwftp가 소유하고 있습니다. ftp를 루트로). 또한 내가 말했듯이, 그것의가는 (역사)가 www- 데이터에 의해 소유되는 곳. – ParoX