<?php
$list = file_get_contents('sitelist.txt');
$explode = explode("http://", $list);
$i = 1;
for ($i = 1; $i < count($explode); $i++) {
$filename = 'tost.txt';
$fp = fopen($filename, "a+");
$write = fputs($fp, $explode[$i] . "\n");
fclose($fp);
}
echo "ok";
?>
它不会在tost.txt中写入或放置任何内容。这有什么不对?
答案 0 :(得分:0)
您向我们展示的代码没有任何问题。 (好吧,除了跳过数组中的第一个条目,并且数组中可能没有多个条目。)我已经在我的服务器上运行了代码,它输出到tost.txt
。
因此,问题必须在于代码之外的因素,例如文件权限是否正确以及服务器上是否禁用了文件访问。
答案 1 :(得分:0)
我发现您的代码存在一些问题
for ($i = 1; $i < count($explode); $i++) {
$filename = 'tost.txt'; <-------------------+
$fp = fopen($filename, "a+");-------------| All this should not be
$write = fputs($fp, $explode[$i] . "\n");<---| in a loop
fclose($fp); <----------------------------------+
}
所有你想要做的就是这2行
$list = file_get_contents('sitelist.txt');
file_put_contents('tost.txt', implode("\n", explode("http://", $list)));
观察
不确定为什么你决定使用以下代码
explode("http://", $list)
这会
如果您真的想要一个有效的解决方案,则需要添加var_dump($list)
和expected output