我尝试使用下面的代码(original source)来创建一个基于文件的文本中,连续网址肩:文本顺序网址旋转器不工作
<?php
$linksfile ="urlrotator.txt";
$posfile = "pos.txt";
$links = file($linksfile);
$numlinks = count($linksfile);
$fp = fopen($posfile, 'r+') or die("Failed to open posfile");
flock($fp, LOCK_EX);
$num = fread($fp, 1024);
if($num<$numlinks-1) {
fwrite($fp, $num+1);
} else {
fwrite($fp, 0);
}
flock($fp, LOCK_UN);
fclose($fp);
header("Location: {$links[$num]}");
?>
我的测试后,我发现它在pos.txt的现有内容之后不断追加新的位置编号,因此该脚本仅在第一次运行。
我试着在if else
语句前添加下面一行代码,以便在更新之前清除pos.txt的现有内容。在重定向的行内容时发生
file_put_contents($posfile, "");
但随后错误说Undefined index: ......
。
哪里有可能出错?
它是否设置在一个循环?或者你连续多次拨打它? –
@JulienLachal对不起,但我不太明白。我第一次测试时,它工作并将我重定向到正确的位置,但随后的时间不起作用。 –