天天看點

PHP下載下傳遠端檔案及擷取檔案内容

<code>/**</code>

<code>     </code><code>* 擷取遠端檔案的内容</code>

<code>     </code><code>* @parma $url  URL</code>

<code>     </code><code>* @return 獲得内容</code>

<code>     </code><code>* **/</code>

<code>    </code><code>public</code> <code>static</code> <code>function</code> <code>getContent(</code><code>$url</code><code>){</code>

<code>        </code><code>$flag</code> <code>= 0;</code>

<code>        </code><code>do</code> <code>{</code>

<code>            </code><code>$hCurl</code> <code>= curl_init();</code>

<code>            </code><code>curl_setopt(</code><code>$hCurl</code><code>, CURLOPT_HEADER, 0);</code>

<code>            </code><code>curl_setopt(</code><code>$hCurl</code><code>, CURLOPT_RETURNTRANSFER, 1);</code>

<code>            </code><code>curl_setopt(</code><code>$hCurl</code><code>, CURLOPT_TIMEOUT, 120);</code>

<code>            </code><code>curl_setopt(</code><code>$hCurl</code><code>, CURLOPT_CONNECTTIMEOUT, 4);</code>

<code>            </code><code>curl_setopt(</code><code>$hCurl</code><code>, CURLOPT_URL, </code><code>$url</code><code>);</code>

<code>    </code> 

<code>            </code><code>$data</code> <code>= curl_exec(</code><code>$hCurl</code><code>);</code>

<code>            </code><code>if</code> <code>(curl_errno(</code><code>$hCurl</code><code>)) {</code>

<code>                </code><code>break</code><code>;</code>

<code>            </code><code>}</code>

<code>            </code><code>$http_code</code> <code>= curl_getinfo(</code><code>$hCurl</code><code>, CURLINFO_HTTP_CODE);</code>

<code>            </code><code>if</code> <code>(</code><code>$http_code</code> <code>&gt;= 400) { </code><code>//400 - 600 is server error</code>

<code>            </code><code>$flag</code> <code>= 1;</code>

<code>        </code><code>} </code><code>while</code> <code>(0);</code>

<code>        </code><code>curl_close(</code><code>$hCurl</code><code>);</code>

<code>        </code><code>if</code> <code>(</code><code>$flag</code><code>) {</code>

<code>            </code><code>return</code> <code>$data</code><code>;</code>

<code>        </code><code>} </code><code>else</code> <code>{</code>

<code>            </code><code>return</code> <code>false;</code>

<code>        </code><code>}</code>

<code>    </code><code>}</code>

<code>    </code><code>/**</code>

<code>     </code><code>* 下載下傳遠端檔案儲存本地檔案</code>

<code>     </code><code>* @parma $fileName 儲存檔案</code>

<code>    </code><code>public</code> <code>static</code> <code>function</code> <code>getContentToFile(</code><code>$fileName</code><code>, </code><code>$url</code><code>)</code>

<code>    </code><code>{</code>

<code>        </code><code>$out</code> <code>= </code><code>fopen</code><code>(</code><code>$fileName</code><code>, </code><code>'w'</code><code>);</code>

<code>        </code><code>if</code> <code>(</code><code>empty</code><code>(</code><code>$out</code><code>)) {</code>

<code>            </code><code>curl_setopt(</code><code>$hCurl</code><code>, CURLOPT_FILE, </code><code>$out</code><code>);</code>

<code>        </code><code>fclose(</code><code>$out</code><code>);</code>

版權聲明:原創作品,如需轉載,請注明出處。否則将追究法律責任

本文轉自 夢朝思夕 51CTO部落格,原文連結:http://blog.51cto.com/qiangmzsx/1618903