我想用循环重命名420个文件,但我不知道如何。
在我的项目中,我使用fopen();
创建了420个图像fopen($meal->imagepath, "w");
由于fopen搜索现有文件并且我没有这些,因此该函数通过循环创建了我的420个文件,并且它们具有正确的名称。现在的问题是,这些图像没有高度,宽度或背景颜色等属性。
因此,我想在paint中手动创建一个文件并将此文件复制420次,然后通过引用具有420个正确名称的txt文件重命名它们。我认为这应该是可能的,但是如何?
谢谢你
答案 0 :(得分:2)
由于这听起来像是一次性的事情,我忽略了错误处理
php直接复制文件
foreach( file('names.txt', FILE_IGNORE_NEW_LINES|FILE_SKIP_EMPTY_LINES) as $target)
copy('source.png', $target);
}
另请参阅:http://docs.php.net/copy,http://docs.php.net/function.file
php创建批处理文件:
file_put_contents('rename.sh', '#!/bin/bash');
foreach( file('names.txt', FILE_IGNORE_NEW_LINES|FILE_SKIP_EMPTY_LINES) as $target)
file_put_contents('rename.sh', "cp source.png $target\r\n", FILE_APPEND);
}
另见:http://docs.php.net/file_put_contents
仅限shell / xargs:
<source.txt xargs -L 1 cp source.png
另见:https://en.wikipedia.org/wiki/Xargs
Powershell的:
gc .\source.txt | %{ copy source.png $_ }
答案 1 :(得分:-1)
foreach (glob("*.txt") as $filename) {
file_put_contents('new_name',file_get_contents('path/to/file/'.$filename)); }