php下利用curl判断远程文件是否存在的实现代码_PHP
//判断远程文件
function check_remote_file_exists($url)
{
$curl = curl_init($url);
// 不取回数据
curl_setopt($curl, CURLOPT_NOBODY, true);
// 发送请求
$result = curl_exec($curl);
$found = false;
// 如果请求没有发送失败
if ($result !== false) {
// 再检查http响应码是否为200
$statusCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
if ($statusCode == 200) {
$found = true;
}
}
curl_close($curl);
return $found;
}
最近在弄一个html5音乐播放的网站,想让我的iphone和ipad爽一爽,前端采用jquery的一个插件jplayer,经过改造之后效果还不错。
后台采用PHP,定时采集百度的MP3。 考虑到本人服务器空间菊紧,当然只能采集MP3地址,文件并没有下载到本地。考虑到百度MP3路径经常变,实在是蛋疼,于是必须定时判断一下MP3路径还对不对,于是就有了PHP判断远程文件是否存在这篇软文。开始用get_headers() 方法,后来听说存在效率问题,于是不使用此解决方案,但是也顺带一提吧,下面看看get_headers函数的效果:
复制代码 代码如下:
//默认效果
print_r(get_headers("http://www.baidu.com/img/baidu_sylogo1.gif"));
结果:
Array
(
[0] => HTTP/1.1 200 OK
[1] => Date: Thu, 02 Jun 2011 02:47:27 GMT
[2] => Server: Apache
[3] => P3P: CP=" OTI DSP COR IVA OUR IND COM "
[4] => Set-Cookie: BAIDUID=7F6A5A2ED03878A7791C89C526966F3A:FG=1; expires=Fri, 01-Jun-12 02:47:27 GMT; max-age=31536000; path=/; domain=.baidu.com; version=1
[5] => Last-Modified: Thu, 20 Jan 2011 07:15:35 GMT
[6] => ETag: "65e-49a41e65933c0"
[7] => Accept-Ranges: bytes
[8] => Content-Length: 1630
[9] => Cache-Control: max-age=315360000
[10] => Expires: Sun, 30 May 2021 02:47:27 GMT
[11] => Connection: Close
[12] => Content-Type: image/gif
)
//加参数1的效果
print_r(get_headers("http://www.baidu.com/img/baidu_sylogo1.gif", 1));
结果:
Array
(
[0] => HTTP/1.1 200 OK
[Date] => Thu, 02 Jun 2011 02:49:28 GMT
[Server] => Apache
[P3P] => CP=" OTI DSP COR IVA OUR IND COM "
[Set-Cookie] => BAIDUID=4D875812FC482C0ADE4F5C17068849EE:FG=1; expires=Fri, 01-Jun-12 02:49:28 GMT; max-age=31536000; path=/; domain=.baidu.com; version=1
[Last-Modified] => Thu, 20 Jan 2011 07:15:35 GMT
[ETag] => "65e-49a41e65933c0"
[Accept-Ranges] => bytes
[Content-Length] => 1630
[Cache-Control] => max-age=315360000
[Expires] => Sun, 30 May 2021 02:49:28 GMT
[Connection] => Close
[Content-Type] => image/gif
)
怎么样,get_headers函数还是不错的吧,不过既然效率有问题,那只好不优先考虑了,curl就不错,下面看看curl的做法
复制代码 代码如下:
function check_remote_file_exists($url)
{
$curl = curl_init($url);
// 不取回数据
curl_setopt($curl, CURLOPT_NOBODY, true);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET'); //不加这个会返回403,加了才返回正确的200,原因不明
// 发送请求
$result = curl_exec($curl);
$found = false;
// 如果请求没有发送失败
if ($result !== false)
{
// 再检查http响应码是否为200
$statusCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
if ($statusCode == 200)
{
$found = true;
}
}
curl_close($curl);
return $found;
}
$exists = check_remote_file_exists('http://www.baidu.com/img/baidu_sylogo1.gif');
echo $exists ? '存在' : '不存在';
$exists = check_remote_file_exists('http://www.baidu.com/test.jpg');
echo $exists ? '存在' : '不存在';

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

curl和Pythonrequests都是發送HTTP請求的強大工具。雖然curl是一種命令列工具,可讓您直接從終端機發送請求,但Python的請求庫提供了一種更具程式化的方式來從Python程式碼發送請求。將curl轉換為Pythonrequestscurl指令的基本語法如下所示:curl[OPTIONS]URL將curl指令轉換為Python請求時,我們需要將選項和URL轉換為Python程式碼。這是一個範例curlPOST指令:curl-XPOSThttps://example.com/api

PHP8.1發布:引入curl多個請求並發處理近日,PHP官方發布了最新版本的PHP8.1,其中引入了一個重要的特性:curl多個請求並發處理。這個新功能為開發者提供了一個更有效率和靈活的方式來處理多個HTTP請求,大大提升了效能和使用者體驗。在以往的版本中,處理多個請求往往需要透過建立多個curl資源,並使用循環來分別發送和接收資料。這種方式雖然能夠實現目

從頭到尾:如何使用php擴充cURL進行HTTP請求引言:在Web開發中,經常需要與第三方API或其他遠端伺服器進行通訊。而使用cURL進行HTTP請求是一種常見且強大的方式。本文將介紹如何使用php擴充cURL來執行HTTP請求,並提供一些實用的程式碼範例。一、準備工作首先,請確保php已安裝cURL擴充。可以在命令列執行php-m|grepcurl查

在Linux下更新curl版本,您可以按照以下步驟進行操作:檢查目前curl版本:首先,您需要確定目前系統中安裝的curl版本。開啟終端,並執行以下指令:curl--version該指令將顯示目前curl的版本資訊。確認可用的curl版本:在更新curl之前,您需要確定可用的最新版本。您可以造訪curl的官方網站(curl.haxx.se)或相關的軟體來源,尋找最新版本的curl。下載curl原始碼:使用curl或瀏覽器,下載您選擇的curl版本的原始碼檔案(通常為.tar.gz或.tar.bz2

PHPCurl中如何處理網頁的301重定向?使用PHPCurl發送網路請求時,常會遇到網頁回傳的301狀態碼,表示頁面被永久重定向。為了正確處理這種情況,我們需要在Curl請求中加入一些特定的選項和處理邏輯。以下將詳細介紹在PHPCurl中如何處理網頁的301重定向,並提供具體的程式碼範例。 301重定向處理原理301重定向是指伺服器回傳了一個30

在linux中,curl是一個非常實用的、用來與伺服器之間傳輸資料的工具,是一個利用URL規則在命令列下工作的檔案傳輸工具;它支援檔案的上傳和下載,是綜合傳輸工具。 curl提供了一大堆非常有用的功能,包括代理存取、使用者認證、ftp上傳下載、HTTP POST、SSL連線、cookie支援、斷點續傳等等。

php curl設定cookie的方法:1、建立PHP範例檔;2、透過「curl_setopt」函數設定cURL傳輸選項;3、在CURL中傳遞cookie即可。

PHP是一種廣泛使用的開源腳本語言,被許多網站所使用。然而,有時候你可能會遇到PHPFatalerror:Calltoundefinedfunctioncurl_setopt()這個問題,這個問題也許會使你的網站無法正常運作。那麼這個問題到底是什麼原因造成的呢?在PHP中,curl_setopt()是一個非常重要的函數,它用於透過curl擴展庫
