因此,在我的网站上,我有一个表单设置,当一个人输入信息时,它会向另一个页面吐出,其结果全部格式化为大约10行。如何让PHP复制这10行并将其附加到我网站上另一个文件的末尾?如果这只能在JavaScript中使用,请您告诉我,以便我可以在Javascript论坛发帖?
让我提供一个指向我网站的链接来说明:请访问new / entry.hostei.com(删除/),然后点击底部的“提交查询”。您无需在框中键入任何内容。查看页面源,我想要复制的行是< / head&gt ;,通过接下来的十行(直到空格开始)。
注意:我不想替换“目标文件”,而只是在最后添加代码行。
我曾尝试在Google上搜索此内容,但它涉及太多关键字,因此没有太多有用的输出。我还问过另一个论坛,但到目前为止他们还没能提供任何有用的输出。
答案 0 :(得分:1)
如何让PHP复制这10行并将其附加到我网站上另一个文件的末尾?
容易。给定$data
是要添加的行的$filename
是要追加到的文件的名称:
// Open the file in Append mode, with the file pointer placed at the end of the file.
// The file will be created if it does not exist.
$fh = fopen($filename, 'a+');
// Establish a lock on the file.
flock($fh, LOCK_EX);
// Write each line in the array and a newline.
foreach($data as $line) {
fwrite($fh, $line);
fwrite($fh, "\n");
}
// Expressly release the lock and close the file.
flock($fh, LOCK_UN);
fclose($fh);
如果$data
是字符串而不是数组,
// Open the file in Append mode, with the file pointer placed at the end of the file.
// The file will be created if it does not exist.
$fh = fopen($filename, 'a+');
// Establish a lock on the file.
flock($fh, LOCK_EX);
// Write the data and a newline.
fwrite($fh, $data);
fwrite($fh, "\n");
// Expressly release the lock and close the file.
flock($fh, LOCK_UN);
fclose($fh);
此外,
如果这只能在JavaScript中使用,请你告诉我
恰恰相反,Javascript无法访问您的服务器或客户端系统的文件系统。
答案 1 :(得分:0)
您可能想尝试file_put_contents:
file_put_contents( "filename.txt", $line, FILE_APPEND );
这将放在PHP文件中,将结果输出到屏幕,您需要将“$ line”替换为包含正在输出的行的变量。将“filename.txt”更改为您希望添加行的文本文件。任何有效的文件名都可以。
根据代码的编写方式,可能还涉及其他内容。您可以保持它非常简单,并为您正在处理的每一行单独执行file_put_contents:
file_put_contents( "filename.txt", $line1, FILE_APPEND );
file_put_contents( "filename.txt", $line2, FILE_APPEND );
file_put_contents( "filename.txt", $line3, FILE_APPEND );
...etc...
上面的地方,$ line1,$ line2,$ line3被结果页面上输出的变量名替换。
如果线路输出处于循环中,您可能只需要一次file_put_contents,就像我在顶部的第一个示例中一样。同样,这完全取决于您现有代码的一些细节。
另外需要注意的是,您可能需要在写入磁盘的行末尾添加换行符(\ n)。可能需要这样做以防止您的线条在输出文件的同一行上出现在一起:
file_put_contents( "filename.txt", $line . "\n", FILE_APPEND );
有关file_put_contents的更多信息,请参阅此处: http://www.php.net/file_put_contents