PHP复制和重命名文件

时间:2015-12-17 12:30:54

标签: php html

我有一个文件,我正在尝试移动,我能够这样做,但我似乎无法改变我正确的文件名。

$file1 = "/../../../../../../rooms.GENRE.FILENAME/FILENAMEentry.html";
$newfile1 = "/../../../../creative/$path/ $dir entry.html";
copy($file1, $newfile1);

$dir是带有我正在调用的文件名的变量。 这会将文件名返回为FILENAME entry.html,我需要删除它们之间的空格。

我在没有空格的情况下尝试过它,如

$direntry.html然后移动并创建文件,但只是将其命名为.html

基本上我用FILENAMEentry.html

中的文件名来替换$dir(大写部分)的位置

4 个答案:

答案 0 :(得分:3)

考虑使用连接:

$newfile1 = "/../../../../creative/$path/" . $dir . 'entry.html';

答案 1 :(得分:1)

实际上$ dir在回显时起作用,但是你有空间,如果你把它们一起写,那么单词将是$direntry,这对于解释器来说是不明确的,所以使用连接。 改变

$newfile1 = "/../../../../creative/$path/ $dir entry.html";

$newfile1 = "/../../../../creative/$path/".$dir."entry.html";

答案 2 :(得分:1)

您应该查看这些string operators

这应该可以正常工作:

$file1 = "/../../../../../../rooms.GENRE.FILENAME/FILENAMEentry.html";
$newfile1 = "/../../../../creative/$path/".$dir."entry.html";

if (!copy($file1, $newfile1)) {
    echo "failed to copy file.";
}
  

Stephen Clay

<?php 
"{$str1}{$str2}{$str3}"; // one concat = fast
  $str1. $str2. $str3;   // two concats = slow
?>
     

使用双引号连接两个以上的字符串而不是多个'。'运营商。 PHP被迫与每个'。'重新连接。操作

Source

答案 3 :(得分:0)

您尝试过:

$newfile1 = "/../../../../creative/$path/{$dir}entry.html";