2016-12-27 53 views
-1

我想更改目录carbrands/alto/alto.php中的文件名。而不是alto.php我想更改为alto_new.php。但是,如果我试图改变名称重命名目录中的PHP文件名

rename($old_name,$file_name); 

使用后该文件名更改,但它不是目录里面carbrands/alto更换,而不是其更换淘汰目录。如何解决这个问题?

+1

提供的文件名完整路径,这两个参数 –

+1

显示$ OLD_NAME,$ FILE_NAME变量值... – Naga

+0

包括重命名之前,新的文件名 –

回答

-2

您需要提及的完整路径。

$old_name = 'carbrands/alto/alto.php'; 
$file_name = 'carbrands/alto/alto_new.php'; 
rename($old_name,$file_name); 
0
rename("carbrands/alto/alto.php", "carbrands/alto/alto_new.php"); 

试试这个

+0

请给出降低投票的原因。 –

+1

是或否。没有“尝试”。一个好的答案***将总是解释所做的事情以及为什么这样做,不仅是为了OP,还是为了将来访问SO。 –

-1

我错过了$ filename的完整路径。现在我使用完整路径的旧和文件名现在它的工作正确。

$pagename="carbrands/alto/alto.php"; 
$filename="alto_new.php"; 
$arr = explode("/", $page_name, 2); 
$first = $arr[0]; 
$second1 = explode("/", $arr[1], 2); 
$second = $second1[0]; 
$third = $second1[1]; 
$directory="$first/$second/"; 
foreach(glob('*.php') as $path_to_file) { 
    $file_contents = file_get_contents($path_to_file); 
    $file_contents = str_replace($page_name,$file_name,$file_contents); 
    file_put_contents($path_to_file,$file_contents); 
} 
rename($directory.$third,$directory.$file_name); 
+1

'rename($ old_name,$ file_name);'是您发布的唯一代码行,其他答案因为您没有包含完整的代码而被低估。你应该做的是发布你的完整代码,并告诉其他人他们的答案,他们没有工作。你的问题也有评论,但你也忽略了他们。 –

+0

但我描述的问题是正确的 –