Php 卷曲-存储网页中的所有内容

Php 卷曲-存储网页中的所有内容,php,curl,Php,Curl,我使用此功能将Cookie保存在文本文件中: $cookie_file_path = "".dirname(__FILE__)."/cookie.txt"; // Please set your Cookie File path $fp = fopen($cookie_file_path,'wb'); fclose($fp); $ch = curl_init(); // other curl functions here // curl_setopt($ch, CURLOPT_COOKIEF

我使用此功能将Cookie保存在文本文件中:

$cookie_file_path = "".dirname(__FILE__)."/cookie.txt"; // Please set your Cookie File path
$fp = fopen($cookie_file_path,'wb'); 
fclose($fp);
$ch = curl_init();
// other curl functions here // 
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file_path);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file_path);
$loginpage_html = curl_exec ($ch);
curl_close ($ch);
它将cookies保存到与cookie.txt相同的文件夹中,并且在连接时使用相同的cookies


我想将图像、css、脚本和所有内容保存到同一个文件夹中。有什么建议吗

我建议使用php DOM扩展 它与javascript非常相似。您只需循环遍历典型的标记,如
查看DOM手册,它有很多有用的注释。

使用递归开关尝试wget

首先,我看到您使用fopen和fclose创建文件,您可以使用touch功能

cURL仅用于获取请求页面的内容。然后,您可以解析HTML中的链接,并在循环中使用cURL来获取这些链接

有一个set_opt CURLOPT_文件,它是输出的地方。例如:

<?php

foreach($links as $link){
    $file = dirname(__FILE__)."/".basename($link);
    touch($file);
    // get page
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file_path);
    curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file_path);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_FILE, $file);
    $output = curl_exec($ch);
    curl_close ($ch);
}

?>

我没有检查代码,但这是你想要的基础。只需使用正则表达式或某些函数即可获得链接。

如果您使用的是linux,并且可以使用命令行访问,这是一个非常好的选择。您可以使用PHP填充参数+1,以便放入正确的上下文中。我更喜欢将shell命令直接传递给system、passthru或shell_exec的经典方法;altough popen在多线程和其他方面提供了很大的可能性。