独游侠 發表於 2019-8-29 10:16:00

PHP采集图片实例(PHP采集)

<div>
<p><span style="color: rgba(0, 0, 0, 1)">以下为引用的内容:</span></p>
<div id="code0">&lt;?php<br>/** <br>*&nbsp;&nbsp;采集图片php程序<br>*<br>*&nbsp;&nbsp;Copyright(c) 2008 by 小超(ccxxcc) All rights reserved<br>*<br>*&nbsp;&nbsp;To contact the author write to {@link mailto:ucitmc@163.com}<br>* <br>* @author ccxxcc <br>* @version $Id: {filename},v 1.0 {time} $ <br>* @package system <br>*/ <br><br>set_time_limit(0);<br>/**<br>* 写文件<br>* @param&nbsp; &nbsp; string&nbsp;&nbsp;$file&nbsp; &nbsp;文件路径<br>* @param&nbsp; &nbsp; string&nbsp;&nbsp;$str&nbsp; &nbsp; 写入内容<br>* @param&nbsp; &nbsp; char&nbsp; &nbsp; $mode&nbsp; &nbsp;写入模式<br>*/<br>function wfile($file,$str,$mode='w')<br>{<br>&nbsp; &nbsp; $oldmask = @umask(0);<br>&nbsp; &nbsp; $fp = @fopen($file,$mode);<br>&nbsp; &nbsp; @flock($fp, 3);<br>&nbsp; &nbsp; if(!$fp)<br>&nbsp; &nbsp; {<br>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;Return false;<br>&nbsp; &nbsp; }<br>&nbsp; &nbsp; else<br>&nbsp; &nbsp; {<br>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;@fwrite($fp,$str);<br>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;@fclose($fp);<br>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;@umask($oldmask);<br>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;Return true;<br>&nbsp; &nbsp; }<br>}<br><br>function savetofile($path_get,$path_save)<br>{<br>&nbsp; &nbsp; &nbsp; &nbsp; @$hdl_read = fopen($path_get,'rb');<br>&nbsp; &nbsp; &nbsp; &nbsp; if($hdl_read == false)<br>&nbsp; &nbsp; &nbsp; &nbsp; {<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; echo("&lt;span style='color:red'&gt;$path_get can not get&lt;/span&gt;");<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Return ;<br>&nbsp; &nbsp; &nbsp; &nbsp; }<br>&nbsp; &nbsp; &nbsp; &nbsp; if($hdl_read)<br>&nbsp; &nbsp; &nbsp; &nbsp; {<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; @$hdl_write = fopen($path_save,'wb');<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if($hdl_write)<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; while(!feof($hdl_read))<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fwrite($hdl_write,fread($hdl_read,8192));<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fclose($hdl_write);<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fclose($hdl_read);<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return 1;<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; else<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return 0;<br>&nbsp; &nbsp; &nbsp; &nbsp; }<br>&nbsp; &nbsp; &nbsp; &nbsp; else<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return -1;<br>}<br><br>function getExt($path)<br>{<br>&nbsp; &nbsp; &nbsp; &nbsp; $path = pathinfo($path);<br>&nbsp; &nbsp; &nbsp; &nbsp; return strtolower($path['extension']);<br>}<br><br>/**<br>* 按指定路径生成目录<br>*<br>* @param&nbsp; &nbsp; string&nbsp; &nbsp;&nbsp;&nbsp;$path&nbsp; &nbsp; 路径<br>*/<br>function mkDirs($path)<br>{<br>&nbsp; &nbsp; $adir = explode('/',$path);<br>&nbsp; &nbsp; $dirlist = '';<br>&nbsp; &nbsp; $rootdir = array_shift($adir);<br>&nbsp; &nbsp; if(($rootdir!='.'||$rootdir!='..')&amp;&amp;!file_exists($rootdir))<br>&nbsp; &nbsp; {<br>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;@mkdir($rootdir);<br>&nbsp; &nbsp; }<br>&nbsp; &nbsp; foreach($adir as $key=&gt;$val)<br>&nbsp; &nbsp; {<br>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;if($val!='.'&amp;&amp;$val!='..')<br>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;{<br>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;$dirlist .= "/".$val;<br>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;$dirpath = $rootdir.$dirlist;<br>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;if(!file_exists($dirpath))<br>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;{<br>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; @mkdir($dirpath);<br>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; @chmod($dirpath,0777);<br>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;}<br>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;}<br>&nbsp; &nbsp; }<br>}<br><br>/**<br>* 从文本中取得一维数组<br>*<br>* @param&nbsp; &nbsp; string&nbsp; &nbsp;&nbsp;&nbsp;$file_path&nbsp; &nbsp; 文本路径<br>*/<br>function getFileListData($file_path)<br>{<br>&nbsp; &nbsp; $arr = @file($file_path);<br>&nbsp; &nbsp; $data = array();<br>&nbsp; &nbsp; if(is_array($arr) &amp;&amp; !empty($arr))<br>&nbsp; &nbsp; {<br>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;foreach($arr as $val)<br>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;{<br>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;$item = trim($val);<br>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;if(!empty($item))<br>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;{<br>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; $data[] = $item;<br>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;}<br>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;}<br>&nbsp; &nbsp; }<br>&nbsp; &nbsp; Return $data;<br>}<br><br>//采集开始<br><br>//传入自己的需要采集的图片url列表文本文件 每个图片url写一行<br>$url_file = isset($_GET['file'])&amp;&amp;!empty($_GET['file'])?$_GET['file']:null;<br>$txt_url = "txt/".$url_file;<br><br>$urls = array_unique(getFileListData($txt_url));<br>if(empty($urls))<br>{<br>&nbsp; &nbsp; &nbsp; &nbsp; echo('&lt;div style="color:red"&gt;无链接地址&lt;/div&gt;');<br>&nbsp; &nbsp; &nbsp; &nbsp; die();<br>}<br>$save_url = "images/".date("y_m_d",time())."/";<br>mkDirs($save_url);&nbsp;&nbsp;//按日期建立文件夹<br>$i = 1;<br>if(is_array($urls)&amp;&amp;count($urls))<br>{<br>&nbsp; &nbsp; &nbsp; &nbsp; foreach($urls as $val)<br>&nbsp; &nbsp; &nbsp; &nbsp; {<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; savetofile($val,$save_url.date("His",time())."_".$i.".".getExt($val));<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; echo($i.".".getExt($val)." got\n");<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $i++;<br>&nbsp; &nbsp; &nbsp; &nbsp; }<br>}<br><br>echo('&lt;div style="color:green"&gt;finish&lt;/div&gt;');<br><br>?&gt;</div>

<br><br>著作权归作者所有。<br>商业转载请联系作者获得授权,非商业转载请注明出处。<br>作者:站长之家编辑 <br>链接:https://www.chinaz.com/program/2008/1017/41142.shtml <br>来源:站长之家</div><br><br>
来源:https://www.cnblogs.com/zlf2000/p/11428124.html
頁: [1]
查看完整版本: PHP采集图片实例(PHP采集)