php重命名函数的问题(重写文件,哪个文件名有空格)

时间:2011-07-28 11:30:59

标签: php codeigniter

文件上传后,我正在使用此代码重命名(在CI中)

rename ( "./upload/temp/{$data1['upload_data']['client_name']}", "./upload/$filename" );

但文件名中有任何空格可以进行按摩,例如文件名“New Text Document(2).txt”按摩

Message: rename(./upload/temp/New Text Document (2).txt,./upload/4.txt) [function.rename]: No error

我如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

您应该用\(反斜杠+空格)替换所有空格,例如:

$toRename = str_replace(
                array(' ', '(', ')'),  
                array('\ ', '\(', '\)'),  
                $data1['upload_data']['client_name']
);

rename(
    './upload/temp/' . $toRename,
    './upload/' . $filename
);