1、php file_get_contents(url)在本地測試可以獲取到遠程url的內容,但上傳至伺服器後返回的確實空的值
想獲取遠程url的東西需要先判斷
function get_url_contents($url)
{
//先判斷allow_url_fopen是否打開,如果打開則版用file_get_contents獲取權,如果沒打開用curl_init獲取
if (ini_get("allow_url_fopen") == "1")
return file_get_contents($url);
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_URL, $url);
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
2、php通過 遠程(通過ip) 獲取伺服器cpu使用率,內存使用率等
你可以這樣做,在伺服器端放個獲取CPU使用率,內存使用率的API,然後你就可以在遠程獲取這個伺服器的CPU和內存使用率的情況了
3、php放到遠程伺服器的哪裡才可以讓他執行?
伺服器上也裝一下apache,看你本地用的系統和伺服器上一樣不,一樣的內話,配置就差不多,只是服容務器上的apache配置里需要加上域名關聯,沒有域名用你的IP也行
DocumentRoot "D:\項目目錄"
ServerName 域名或你的ip
4、php有沒有在伺服器上從遠程url下載的功能
$filename=basename($url);//取文件名
$getfile = @file_get_contents($url);
$arr_file = @explode("/",$url);
foreach($arr_file as $value){
$filename =$value;//保存文件名+後綴名
}
if(@!is_dir($folders)){//判斷目錄回不存在則建答立
make_file($folder);
}
$file=@fopen("$folder/$filename",'w+');//建立文件
fwrite($file,$getfile);//寫入文件
$file= str_replace(ROOT_PATH, '',($folder."/".$filename));
return $file;
fclose($file);
5、php如何同時獲取遠程伺服器圖片和響應頭
獲取圖片和響應頭, 一般就是將圖片保存成文件, 響應頭, 可以分析返回數據,如果是cookie的話,分析cookie.顯示到首頁上,就需要你將圖片的URL修改對應的模板,資料庫或者實體文件了.
6、PHP讀取遠程的網頁,如何獲取讀取該網路文件的時間呢?
<?php
$time1 = microtime(1);
$content = file_get_contents('http://www.baidu.com/');
$time2 = microtime(2);
printf("%.2f", ($time2 - $time1));
echo 'milliseconds';
?>
7、php在這個伺服器的PHP文件去執行遠程的PHP
如果你的伺服器在php.ini文件中激活了allow_url_fopen 選項,你可以使用以下的語句:
$page_url="http://www.baidu.com/1.php";
$contents = file_get_contents($page_url);
否則,你可以參考下面的例子.
獲取遠程文件的標題
<?php
$file = fopen ("http://www.example.com/", "r");
if (!$file) {
echo "<p>Unable to open remote file.\n";
exit;
}
while (!feof ($file)) {
$line = fgets ($file, 1024);
/* This only works if the title and its tags are on one line */
if (eregi ("<title>(.*)</title>", $line, $out)) {
$title = $out[1];
break;
}
}
fclose($file);
?>
8、PHP 使用curl 執行遠程伺服器的一個shell腳本
可以啊,curl可以,http也可以啊
首先
假如 遠程伺服器有這些文件php腳本和shell腳本(分析數據的腳本)是在目標伺服器上
a.php
data.php
data.sh
然後在a腳本裡面運行shell命令,exec("cd ~/php/ && php ./data.php &");
這樣php就會運行data.php 可以在data.php裡面在運行sh腳本
或者直接在a.php裡面運行sh腳本
然後把計算好的數據存入資料庫
這樣你就可以用http或者curl去激活a.php.然後分析數據的腳本也就運行了
大概了解沒?
大哥 你看明白沒啊是要給遠程發送shell命令 不是本地執行好吧?
遠程動態輸入命令?貌似不太安全啊~!
可以這樣。a.php?cmd=cd ~/ && sh data.sh
然後a.php裡面這樣寫
exec("{$_GET["cmd"]}");
太危險,相當不推薦
可以做好命令,然後去執行
a.php?cmd=a
然後a.php裡面這樣寫
switch ($_GET["cmd"]}){
case "a":
exec("cd ~/php/ && php ./data.php &");
break;
case "b":
exec("cd ~/php/ && php ./xxxx.php &");
break;
}
9、PHP獲取遠程內容
file_get_contents($url)//這個函數可以獲得文本內容,但我建議,通常點的話用
PHP Simple HTML DOM類獲取頁面內容,參考
http://www.tocus.com.cn/?send=article_show&id=57&class=2
返回的數據是json數組,你可以參考
http://www.tocus.com.cn/?send=article_show&id=95&class=2
而且我看你這里是為了採集彩票數據,這里是採集大樂透數據的文檔和demo
http://www.tocus.com.cn/?send=article_show&id=63&class=2
10、求php代碼:打開某url然後獲取遠程伺服器返回的http頭
1.使用var_mp($_SERVER);die; 即可獲得所有返回的http信息, 從中取得你需要的信息即可;
2.超時內檢測用容 js 的 跳轉實現, setTimeout(xxxxx,3000); 即3秒鍾之內如果取到信息就記錄入庫,如果沒有取到就沒有記錄,根據記錄判斷,如果該條數據有url記錄則取得成果,如果沒有記錄就代表「timeout」
爬蟲抓取建議使用js 跳轉,這是最穩定抓取方式,可以連續運行1個月不會出錯
本人8年php編程經驗,上百萬行代碼,高級php認證工程師,經驗而談