2016-07-05 7 views
-3

나는 디렉토리 name.processing에서 파일을하고 난이 코드가 PHP에서 디렉토리의 파일 확장명을 바꾸는 방법은 무엇입니까?

name.processed

에서이 파일의 이름을 변경하려면 :

$fn1 = str_replace(".processed", ".processing", $fn); 
rename($fn1,$fn); 

$ FN은 전체 경로를 포함합니다.

파일의 이름이 디렉토리에서 변경되지 않은 이유는 무엇입니까?

나는 내가 문자열의 일부를 대체 할 방법을 알고 있지만, 거꾸로 str_replace의 paramters을 가지고있는 것처럼 내가

+2

을이 http://stackoverflow.com/questions/8163746/의 중복되지 않습니다 대체 방법 - 특정 부분 - 내 문자열 – PaulH

+0

@ Rizier123 중복을 재검토하십시오 – PaulH

+0

@Machavity 중복을 다시 생각하십시오 – PaulH

답변

1

이 보이는 디렉토리에있는 파일의 확장자를 대체하는 방법을 모르기 때문에이 중복되지라고 생각합니다.

http://php.net/manual/en/function.str-replace.php 당신은 설명서를 참조해야 $fn1 = str_replace(".processing", ".processed", $fn);

+0

(너는 rena를 놓친 나 다시 돌아오고있다) – Damien

2

PHP는 항상 매개 변수 순서에서 예측하지보십시오.

// processing -> processed 
// str_replace($search, $replace, $haystack) 
$fn_new = str_replace(".processing", ".processed", $fn); 
// rename($oldname, $newname) 
$rename = rename($fn,$fn_new); 
echo "old: $fn, fn_new: $fn_new, rename: ", $rename ? 'success' : 'failure'; 

http://php.net/manual/en/function.str-replace.php http://php.net/manual/en/function.rename.php


편집 : 그것은 여전히 ​​작동하지 않는 경우 https://stackoverflow.com/search?q=php+rename

+0

이유는 모르지만 일하지 않는다 :-( – mydb

+0

성공 또는 실패를 반환합니까? – PaulH

+0

old :, fn_new : C : /wamp/www/prove/WORKSPACE/8bf50820/1467739866.processed, rename : failure – mydb

관련 문제