<?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行****
答案 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