php文件重命名错误使用php重命名功能

时间:2017-12-12 09:35:58

标签: php

<?php
    while($data = mysqli_fetch_array($result))
    { 
        $q1="insert into delinked values('".$data[0]."','".$data[1]."','".$data[2]."');"; //inserts the all the data into delinked 
        //$result1=mysqli_query($conn,$q1)or die("error");//executes query
        $a=basename($data[2]).PHP_EOL;//gets the filename
        $change="D".$a; // changes the file in (D_filename format)
        $tar="/DATA".$change;

        chdir('E:\DATA');
        rename($a,$change);
    }
?>

当我尝试重命名文件时,出现以下错误:

  

****警告:重命名(E:/DATA/windows.rar,E:/DATA/er.php):文件名,目录名或卷标语法不正确。 (码:    123)在C:\ Users \ yathi \ Desktop \ Cilicosys Project \ deactivate.php上    第27行****

1 个答案:

答案 0 :(得分:0)

由于某种原因,您要在PHP_EOL变量中添加一个“换行符”($a)(然后将其传播到$change)。这会导致rename失败,因为这不是文件名中允许的字符。

基本失败可以用

重现
$a = "test.tst".PHP_EOL;                  
$targ = "moved.tst".PHP_EOL;                      
rename($a, $targ);
/*
Outputs : Warning. No such file or directory
*/

要解决您的问题,只需更正以下行即可:

$a=basename($data[2]); //gets the filename