我需要能够通过表单更改用于在页面中生成链接的HREF属性的文本文件中的文本(即,用户将链接置于表单中,HTML中的链接将更改)。到目前为止,我制作了这个表单和一个PHP脚本。它正在工作,除了它不仅会改变HREF属性,而是在HTML中创建一个全新的链接(即<a href="Link"><img src="web/assets/images/youtube.png" alt="YT" width="42" height="42" border="0"></a>
)。
它的工作原理 - 当你将链接放入表单时,该脚本会将该链接写入TXT文件,然后在该页面上,我需要让HREF是另一个从文本文件中取出链接的脚本。这是PHP:
<?php
$subor = @file('youtube.txt');
$lines = sizeof($subor);
$count = $lines/1;
for ($i = 0; $i < $count; $i++)
{
?>
<a href="<?php echo ($subor[$i * 1 + 0]) ?>"><img
src="web/assets/images/youtube.png" alt="YT" width="42" height="42"
border="0"></a>
<?php
}
?>
这是将表单中的链接写入文本文件的脚本:
<?php
$myFile = "youtube.txt";
if(isset($_POST['flag']) && !empty($_POST['flag'])) {
$fileWrite = $_POST['flag'] . "\n";
}
if($fileWrite) {
$fh = fopen($myFile, "a") or die("can't open file"); //Make sure you have permission
fwrite($fh, $fileWrite);
fclose($fh);
exec('/your/command /dev/null 2>/dev/null &');
}
?>
<?php
header( 'Location: http://kraj.com/home.php' ) ;
?>
那么如何编辑该代码以便它不会创建另一个代码,但它会改变那个代码中的href?
答案 0 :(得分:0)
那么如何编辑该代码以便它不会创建另一个但它会改变那个内部的href?
将传递给fopen()的第二个参数(即 模式 )更改为'w'
。这样,指针将被放置在文件的开头,而不是将指针放在文件的末尾(用于追加)。
$fh = fopen($myFile, "w") or die("can't open file"); //Make sure you have permission
请参阅this playground example中的演示。
更简单的技术是使用file_put_contents()。然后是以下三行
$fh = fopen($myFile, "a") or die("can't open file"); //Make sure you have permission
fwrite($fh, $fileWrite);
fclose($fh);
可以替换为:
$numberOfBytesWritten = file_put_contents($myFile, $fileWrite);