php獲取遠程文件
⑴ php獲取遠程文件的大小
本文實例講述了php獲取遠程文件大小的方法,分享給大家供大家參考。具體實現方法如下:
/*
**功能:獲取遠程文件的大小,返回值的單位是:位元組
*/
function
get_fileSize($url){
if(!isset($url)||trim($url)==''){
return
'';
}
ob_start();
$ch=curl_init($url);
curl_setopt($ch,CURLOPT_HEADER,1);
curl_setopt($ch,CURLOPT_NOBODY,1);
$okay=curl_exec($ch);
curl_close($ch);
$head=ob_get_contents();
ob_end_clean();
$regex='/Content-Length:\s([0-9].+?)\s/';
$count=preg_match($regex,$head,$matches);
return
isset($matches[1])&&is_numeric($matches[1])?$matches[1]:'';
}
希望本文所述對大家的php程序設計有所幫助,大家能夠喜歡小便的文章,大家共同進步。
⑵ 如何用PHP獲取遠程大文件的大小
1、用file_get_contents或者fopen、file、readfile等函數讀取url的時候,會創建一個名為$http_response_header的變數來保存http響應的報頭.
示例代碼一:
[php]viewplain<?php$url='http://www..com';$html=file_get_contents($url);print_r($http_response_header);//輸出結果Array([0]=>HTTP/1.1200OK[1]=>Date:Tue,06Nov201208:51:01GMT[2]=>Server:BWS/1.0[3]=>Content-Length:9803[4]=>Content-Type:text/html;charset=gbk[5]=>Cache-Control:private[6]=>Expires:Tue,06Nov201208:51:01GMT[7]=>Set-Cookie:BAIDUID=:FG=1;expires=Tue,06-Nov-4208:51:01GMT;path=/;domain=..com[8]=>P3P:CP="OTIDSPCORIVAOURINDCOM"[9]=>Connection:Close)?>2、使用fopen等函數打開的數據流信息可以用stream_get_meta_data來獲取。示例代碼二:[php]viewplain<?php$fp=fopen($url,'r');print_r(stream_get_meta_data($fp));fclose($fp);//輸出結果Array([wrapper_data]=>Array([0]=>HTTP/1.1200OK[1]=>Date:Tue,06Nov201208:54:22GMT[2]=>Server:BWS/1.0[3]=>Content-Length:9803[4]=>Content-Type:text/html;charset=gbk[5]=>Cache-Control:private[6]=>Expires:Tue,06Nov201208:54:22GMT[7]=>Set-Cookie:BAIDUID=:FG=1;expires=Tue,06-Nov-4208:54:22GMT;path=/;domain=..com[8]=>P3P:CP="OTIDSPCORIVAOURINDCOM"[9]=>Connection:Close)[wrapper_type]=>http[stream_type]=>tcp_socket[mode]=>r[unread_bytes]=>0[seekable]=>[uri]=>http://www..com[timed_out]=>[blocked]=>1[eof]=>)?>3、get_headers()也可以獲取請求url的響應報文。示例代碼三:[html]viewplain<?phpprint_r(get_headers($url));Array([0]=>HTTP/1.1200OK[1]=>Date:Tue,06Nov201208:58:41GMT[2]=>Server:BWS/1.0[3]=>Content-Length:9803[4]=>Content-Type:text/html;charset=gbk[5]=>Cache-Control:private[6]=>Expires:Tue,06Nov201208:58:41GMT[7]=>Set-Cookie:BAIDUID=:FG=1;expires=Tue,06-Nov-4208:58:41GMT;path=/;domain=..com[8]=>P3P:CP="OTIDSPCORIVAOURINDCOM"[9]=>Connection:Close)?>4、php5中新增的參數context使這些函數更加靈活,通過它我們可以定製http請求,甚至post數據。
⑶ 用php如何獲取遠程的xls表格文件地址,並將它下載到本地
寫段偽代碼給你:
//先獲取遠程網頁的源代碼
$html=file_get_contents(http://mp3..com/歌曲播放頁.html);
//用正則表達式分析源代碼中的資源鏈接
$link=preg_match_all(正則)...
//讀取資源文件
$bin=file_get_contents(http://mp3..com/時間都去哪了.mp3);
//保存資源文件到本地
$fp=fopen(時間都去哪了.mp3,wb)
$fp.writh($bin);
$fp.close();
先說好,不要讓我寫完整的源代碼,因為這里還涉及一些細節,比如說,你才提供的 xls ,就是需要登錄的,那麼你還要實現模擬登錄。
有些網站的資源鏈接有各種限制,需要你慢慢去深入。
⑷ 用PHP怎麼獲取遠程文件文件類型
1.圖片文件可以使用getimagesize函數。
2.其他文件可以解析文件的後綴。
⑸ PHP獲取遠程頁面html
file_get_contents()比file()慢?
如果抓取別人的頁面還是用file_get_contents()比較好~
file()取回的是數組
而file_get_contents()取回的是字元串
你是想取回個數組再把它們連起來方便?還是直接把他們取回來方便?
另外
file_get_contents(String,int)
有個可選參數設定讀取的長度
在PHP手冊中說:
file_get_contents() 函數是用來將文件的內容讀入到一個字元串中的首選方法。如果操作系統支持還會使用內存映射技術來增強性能。
⑹ php中的file_get_contents獲取遠程頁面如何實現
安裝CopSSH之前先確保防火牆開啟了SSH埠,這個雖然不影響CopSSH的安裝,但是影響SSH訪問,所以寫在前面。
CopSSH是windows下的SSH伺服器軟體,下載地址之,本文使用的是Copssh_4.1.0_Installer.exe,
安裝完成後,到控制面板中新建一個管理員賬戶root,用這個賬戶來共享SSH。然後你在賬戶管理中會看到之前的SvcCOPSSH賬戶。
將root用戶添加到CopSSH用戶中,為簡單操作,允許使用密碼認證方式
若是不允許密碼認證,則需要使用公鑰密鑰方式認證,
三、CopSSH中使用GIT
現在已經安裝GIT和CopSSH,接下來需要做的就是讓CopSSH可以使用GIT的命令,這樣不僅能夠遠程SSH管理GIT伺服器,而且可以將GIT倉庫通過SSH共享。具體的操作方法是將GIT的某些命令程序和動態鏈接庫復制到CopSSH安裝目錄下即可。
l 將$ Git\libexec\git-core目錄下的git.exe , git-receive-pack.exe , git-upload-archive.exe , git-upload-pack.exe復制到$ICW\bin目錄下
l 將$Git\bin目錄下的libiconv-2.dll復制到$ICW\bin目錄下
重啟CopSSH即可
⑺ php怎樣遍歷遠程文件夾下的文件
window是用的GB2312的編碼,你的php文件應該用的是UTF-8,所以正如你寫的那樣,先要轉換編碼$dir=iconv("utf-8","gb2312",$dir);
但你別忘了,你用的是UTF-8的編碼,所以你第六行寫錯了,把GB2312轉換為UTF-8搞倒了吧
123456789101112131415<?phpfunction refresh($dir){ $dir=iconv("utf-8","gb2312",$dir); if ($headle=opendir($dir)){ while ($file=readdir($headle)){ $file=iconv("gb2312","utf-8",$file); if ($file!='.' && $file!='..'){ echo "文件".$file."在文件夾".$dir."下<br />"; } } closedir($headle); }}refresh("D:/AppServ/www/test");?>
⑻ 用php程序自動讀取遠程文件並更新到本地,每天一次,如何做
windows:
准備:
1.將 php.exe 的路徑加入 windows 的環境變數
2.編寫文件:
D:\fileGeter.php
<?php
$filelist = Array(
"http://**********/a.txt",
"http://**********/b.txt",
);
$saveas="D:\\" ;
$endl = ".txt"
function getfile(){
foreach( $filelist as $k => $file )
file_put_contents( $saveas . $k . $endl , file_get_contents( $file ) ) ;
}
getfile();
?>
3.執行cmd命令
at 11:20 /every:1,2,3,4,5,6,7 "php D:\fileGeter.php"
linux 更方便
直接把此文件包含進 你要寫的程序里就OK了,
fileGeter.php:
<?php
...
...
$saveas = "./";
...
..
?>
index.php:
<?php
require_once("fileGeter.php");
//and so on .....
.....
....
....
?>
⑼ php有哪些函數可以遠程讀取文件
php讀取遠程文件的方式很多,常用的函數有file_put_contents,fopen,也可以使用curl的方式讀取。具體用法參考php手冊。