2011-09-16 69 views
0

我有一个.txt文件,其中包含约500个文件名的列表。我需要根据列表生成实际的文件。我可以在本地使用CMD,也可以使用PHP。哪个是最好的。每个文件名都位于.txt中的单独行中,并且没有其他标点符号或语法。比方说,例如,.txt文件被命名为colors.txt:和文本文件中的每一行都包含一个唯一的文件名,如:如何从.txt文件中包含的文件名列表生成文件?

red.php 
blue.php 
green.php 
orange.php 
yellow.php 
magenta.php 
light-yellow.php 
purple.php 

我将如何去了解实际转向在这些名字列入文件?而且,更好的是,是否有办法在生成文件时将内容包含到文件中?例如,如果我想在创建时在每个新的.php文件中自动插入<?echo "hello world";?>,我怎么能?谢谢

回答

0

我不完全确定你要在这里做什么。我的直觉告诉我可能有更好的方法来解决你正在处理的大问题。然而,你可以尝试像以下:

foreach (file('colors.txt') as $filename) { 
    file_put_contents($filename, '<?php echo "hello world";'); 
} 

你可能也希望做一些健全检查的文件名,以确保他们安全使用。

+0

谢谢。我把这个代码本身放在一个index.php文件中(与.txt文件相同的目录)。在browswer中打开了index.php,它工作得很好,但只生成了一个文件,即文本列表中的最后一个文件。文本列表中有五十多个文件名。有任何想法吗? – max

2

注意:这是用于Windows的批处理脚本。

要从colors.txt列表创建这些文件和回声行添加到每个文件,请使用以下FOR /F循环:在ECHO命令

FOR /F "tokens=*" %%A IN (colors.txt) DO (
    (ECHO ^<?echo "hello world";?^>)>"%%A" 
) 

通知您必须逃离<>字符^使它们成为文字字符串,否则批处理脚本会认为它们是重定向命令。

相关问题