我正在尝试将文件从当前所在的命令目录移动到名为product_upload的新目录,但是下面的代码无法正常工作
//The following creates and saves the file in the directory - this bit works fine. It saves the file in the command directory
$file = fopen($filenamecsv, "w+");
fwrite($file,$contents);
fclose($file);
////以下不起作用
$filenamecsv_move = "command/Product_category_list".date("j-m-Y_H.i"). ".csv";
$filenamecsv2_move = "command/product_upload/Product_category_list".date("j-m-Y_H.i"). ".csv";
rename($filenamecsv_move ,$filenamecsv2_move );
答案 0 :(得分:0)
可能目录command/product_upload
不存在,重命名功能不会创建它。在这种情况下,您必须手动创建此目录或在脚本中添加mkdir。
请看下面的脚本。如果你只有命令目录并且命令mkdir行重命名函数不会重命名文件并返回false(最后添加了var_dump)。
<?php
$filenamecsv_move = "command/Product_category_list".date("j-m-Y_H.i"). ".csv";
file_put_contents($filenamecsv_move,'testdata');
$filenamecsv2_move = "command/product_upload/Product_category_list".date("j-m-Y_H.i"). ".csv";
if (!file_exists('command/product_upload')) {
mkdir('command/product_upload', true);
}
$result = rename($filenamecsv_move ,$filenamecsv2_move );
var_dump($result);
在测试脚本时,还应启用error_reporting以显示错误。我收到了以下警告:
警告: 重命名(命令/ Product_category_list29-05-2014_13.40.csv,命令/ product_upload / Product_category_list29-05-2014_13.40.csv): 在第12行的D:\ DaneAplikacji \ WampServer \ www \ rename \ index.php