php 读取txt文件中的内容,转换成数组,根据URL将图片下载到本地(curl爬取)

这篇博客介绍了如何使用PHP读取包含URL的TXT文件,将URL转换为数组,并利用curl库逐个下载图片到本地。内容涉及到文件操作和网络请求的实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

link.txt文件内容(注意地址可以无限多)
https://youimg1.c-ctrip.com/target/100m1f000001gzojc0664_D_521_391.jpg
https://youimg1.c-ctrip.com/target/100d1f000001gotp7F469_D_521_391.jpg
https://youimg1.c-ctrip.com/target/35011600000111ngoD575_D_521_391.jpg
https://youimg1.c-ctrip.com/target/10041f000001gpb3bE341_D_521_391.jpg
https://youimg1.c-ctrip.com/target/10061f000001gqy6nEBC8_D_521_391.jpg
https://youimg1.c-ctrip.com/target/100h1f000001grsms0D43_D_521_391.jpg
https://youimg1.c-ctrip.com/target/100v1f000001h1b6j701E_D_521_391.jpg
https://youimg1.c-ctrip.com/target/100h1f000001gru8eB0FD_D_521_391.jpg
https://youimg1.c-ctrip.com/target/100w1f000001gwbqi5BAD_D_521_391.jpg
https://youimg1.c-ctrip.com/target/fd/tg/g1/M05/7B/6C/CghzfFWwt52AV-urABFlT-NvCrI414_D_521_391.jpg

<?php
	$str = file_get_contents('link.txt');//将整个文件内容读入到一个字符串中
    $str_encoding = mb_convert_encoding($str, 'UTF-8', 'UTF-8,GBK,GB2312,BIG5');//转换字符集(编码)
    $arr = explode("\r\n", $str_encoding);//转换成数组
    //去除值中的空格
    foreach ($arr as &$row) {
        $row = trim($row);
    }
    unset($row);
    //得到后的数组
    // var_dump($arr);die;
	// $url = 'https://youimg1.c-ctrip.com/target/100m1f000001gzojc0664_D_521_391.jpg';
	// $url = array('1' => 'https://youimg1.c-ctrip.com/target/100m1f000001gzojc0664_D_521_391.jpg', 
				 // '2' => 'https://youimg1.c-ctrip.com/target/100d1f000001gotp7F469_D_521_391.jpg');

	function http_get_data($url) {  
	    $ch = curl_init ();  
	    curl_setopt ( $ch, CURLOPT_CUSTOMREQUEST, 'GET' );  
	    curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, false );  
	    curl_setopt ( $ch, CURLOPT_URL, $url );  
	    ob_start ();  
	    curl_exec ( $ch );  
	    $return_content = ob_get_contents ();  
	    ob_end_clean ();  
	    $return_code = curl_getinfo ( $ch, CURLINFO_HTTP_CODE );  
	    return $return_content;  
	}  
	  
	foreach ($arr as $k => $v) {
	  	$return_content = http_get_data($v);  
		$filename = 'img/'.$k.'.jpg';  
		$fp= @fopen($filename,"a"); //将文件绑定到流
		fwrite($fp,$return_content); //写入文件  
	}

?>  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值