如何使用fwrite()将curl中的html插入到新创建的页面中

发布于 2024-10-21 20:11:33 字数 799 浏览 4 评论 0原文

我正在使用看似标准的 fwrite 代码将 html 插入新页面。该代码从 html 表单 (url) 获取输入,使用代理获取源代码并创建一个标题为时间戳的新页面。所有这些都有效,无效的是将 html 源代码写入新页面。

下面的代码输出一个时间戳并创建一个新页面,但是该页面是空的,而其中应该有代码。任何指示或建议将不胜感激。

    <? $url = $_POST['url'];
 $ch = curl_init();
 curl_setopt($ch, CURLOPT_URL,$url);
 curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 0);
 curl_setopt($ch, CURLOPT_PROXY, '123.30.185.86:3128');
 curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
 curl_setopt($ch, CURLOPT_CUSTOMREQUEST,'GET');
 curl_setopt ($ch, CURLOPT_HEADER, 1);
 curl_exec ($ch); $curl_scraped_page = curl_exec($ch); 

$FileName = time();
$FileHandle = fopen($FileName, 'w') or die("can't open 

file");
fwrite($FileHandle, $curl_scraped_page);

curl_close($ch);

echo $FileName; ?>

I am using what appears to be standard fwrite code to insert html into a new page. The code takes input from a html form (url) grabs the source code using a proxy and creates a new page titled with a timestamp. All that works, what is not working is writing the html source code into the new page.

The bellow outputs a timestamp and creates a new page, however the page is empty whereas it should have code in it. Any pointers or suggestions would be much appreciated.

    <? $url = $_POST['url'];
 $ch = curl_init();
 curl_setopt($ch, CURLOPT_URL,$url);
 curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 0);
 curl_setopt($ch, CURLOPT_PROXY, '123.30.185.86:3128');
 curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
 curl_setopt($ch, CURLOPT_CUSTOMREQUEST,'GET');
 curl_setopt ($ch, CURLOPT_HEADER, 1);
 curl_exec ($ch); $curl_scraped_page = curl_exec($ch); 

$FileName = time();
$FileHandle = fopen($FileName, 'w') or die("can't open 

file");
fwrite($FileHandle, $curl_scraped_page);

curl_close($ch);

echo $FileName; ?>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

后来的我们 2024-10-28 20:11:33
curl_exec ($ch); $curl_scraped_page = curl_exec($ch); 

应该是公正的

 $curl_scraped_page = curl_exec($ch); 

并输出你获取的内容......

echo  $curl_scraped_page;
curl_exec ($ch); $curl_scraped_page = curl_exec($ch); 

should be just

 $curl_scraped_page = curl_exec($ch); 

and to output what you fetched...

echo  $curl_scraped_page;
夜吻♂芭芘 2024-10-28 20:11:33

您可以使用 file_put_contents 代替。

该函数与依次调用 fopen()、fwrite() 和 fclose() 将数据写入文件相同。

You may use file_put_contents instead.

This function is identical to calling fopen(), fwrite() and fclose() successively to write data to a file.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文