2013-06-30 4 views
-3

PHP로 파일을 임시 폴더에서 영구 저장소로 이동시키는 코드를 작성했습니다. 또한 파일의 이름을 바꾸어야하지만 나중에 올바르게 실행할 수는 없습니다. 다음과 같이 코드의 일부는 다음과 같습니다PHP에서 이름을 바꿀 수 없습니다()

move_uploaded_file($_FILES["file"]["tmp_name"],"previouspapers/".$dept."/" . $_FILES["file"]["name"]); 
$path='http://127.0.0.1/example/previouspapers/'; 
$path="$path".$dept."/".$_FILES["file"]["name"]; 

$path1='http://127.0.0.1/example/previouspapers/12345'; 

rename($path,$path1); 
$fpath=$_FILES["file"]["name"]; 

날 실수를 찾기 위해 도와주세요.

+0

왜 파일을 새 파일 이름으로 직접 이동하지 않습니까? –

+0

안녕하세요, 어떤 점에서 정확히 잘못 될까요? 더 많은 정보를 입력하십시오. –

+0

이름 변경시'http : // ....'가 아닌'C :/images/...'경로를 사용해야합니다. –

답변

-1
 $path = 'http://127.0.0.1/example/previouspapers/'; 
     $path .="$path".$dept."/".$_FILES["file"]["name"]; 

경로 변수를 올바르게 연결하지 않았을 것입니다. . = (NB : 그들 사이의 NB : 공백)

+0

그게 실수 야. $ path = 'http : //127.0.0.1/example/previouspapers/'; $ path = "$ path". $ dept. "/". $ _ FILES [ "file"] [ "name"]; 이것은 내 코드이며, 심지어 실행 중입니다. –

3

는 HTTP URL이 아닌 파일과 폴더의 이름을 바꿉니다. 당신은 이

'http://127.0.0.1/example/previouspapers/12345 

당신은

"previouspapers/$dept/$_FILES[file]" 

"previouspapers/12345" 

대신 이름을 변경해야

"http://127.0.0.1/example/previouspapers/$dept/$_FILES[file]" 

에 이름을 바꿀 수 없습니다; move_uploaded_file에 전화하면 이라는 작업 디렉토리가 있기 때문입니다.

+0

예, 이름을 바꾸려면 어떻게해야합니까? (예 : resume.pdf - 12345.pdf) –

+0

이제 다음과 같이하고 있습니다. $ x = 'example/previouspapers /'.$_FILES[ "file"]["name "]; $ y = '예/previouspapers/12345'; 이름 바꾸기 ($ x, $ y); 그러나 같은 문제! @oswald –

+0

상대 파일 이름 (즉, 첫 번째 문자가 슬래시가없는 파일)은 작업 디렉토리와 관련하여 해석됩니다 ([getcwd()'] (http://php.net/manual/en/function)를 참조하십시오. getcwd.php). 'move_uploaded_file'에 대한 호출은'example'이 현재 작업중인 디렉토리임을 나타내므로 파일의 이름을 변경할 때이 경로 구성을 지정하면 안됩니다. – Oswald

관련 문제