这一定是一个非常简单的问题,但我已经尝试了一个小时来解决。我有以下代码:
foreach (glob("*.txt") as $filename)
{
$file = file_get_contents($filename);
file_put_contents($filename, str_replace("google","yahoo",$file));
}
test.txt
内容为:
Fusce condimentum aliquam velit nec suscipit.
Cras dapibus libero id ante volutpat laoreet.
Aliquam luctus erat eget orci egestas, id tincidunt leo aliquam.
google
出于某种原因,google
永远不会被yahoo
取代。我的问题是,如何将google
替换为yahoo
?
由于
答案 0 :(得分:1)
如果您从其他目录发出php命令,那么您的代码无法找到该文件。
me@alfa:/tmp# cat test/test.txt
Fusce condimentum aliquam velit nec suscipit.
Cras dapibus libero id ante volutpat laoreet.
Aliquam luctus erat eget orci egestas, id tincidunt leo aliquam.
google
me@alfa:/tmp# cat test/test.php
<?php
foreach (glob("*.txt") as $filename)
{
$file = file_get_contents($filename);
file_put_contents($filename, str_replace("google","yahoo",$file));
}
?>
me@alfa:/tmp# php test/test.php
me@alfa:/tmp# cat test/test.txt
Fusce condimentum aliquam velit nec suscipit.
Cras dapibus libero id ante volutpat laoreet.
Aliquam luctus erat eget orci egestas, id tincidunt leo aliquam.
google
将目录更改为php和txt文件的位置使其工作。
me@alfa:/tmp# cd test/
me@alfa:/tmp/test# ls
test.php test.txt
me@alfa:/tmp/test# cat test.txt
Fusce condimentum aliquam velit nec suscipit.
Cras dapibus libero id ante volutpat laoreet.
Aliquam luctus erat eget orci egestas, id tincidunt leo aliquam.
google
me@alfa:/tmp/test# php test.php
me@alfa:/tmp/test# cat test.txt
Fusce condimentum aliquam velit nec suscipit.
Cras dapibus libero id ante volutpat laoreet.
Aliquam luctus erat eget orci egestas, id tincidunt leo aliquam.
yahoo