2012-04-17 38 views
2

我在URL http://site.com/params上有一個頁面。我想從此遠程頁面只讀取前n個字符。像readfile(),file_get_contents()curl這樣的函數似乎可以下載整個頁面。無法弄清楚如何在PHP中執行此操作。在PHP中讀取遠程頁面的一部分

請幫忙......!

+1

閱讀['file_get_contents()'](http://php.net/manual/en/function.file-get-contents.php)的'offset'和'maxlen'參數 – Josh 2012-04-17 14:13:00

+0

@Josh,但那不是下載整個頁面然後給我第一個n個字符?糾正我,如果我錯了... – 2012-04-17 14:14:50

+0

我無法想象它會。它應該只讀取'maxlen'字符,或者全部默認。我會讓其他人證明這一點。 – Josh 2012-04-17 14:20:27

回答

3

file_get_contents()做可能是你在找什麼,如果是利用maxlen參數。默認情況下,這樣的功能:

//Reads entire file into a string 
$wholePage= file_get_contents('http://www.example.com/'); 

然而,的maxlen參數是數據的最大長度讀

// Read 14 characters starting from the 1st character 
$section = file_get_contents('http://www.example.com/', NULL, NULL, 0, 14); 

這意味着整個文件不是隻讀,只maxlen字符被讀取,如果maxlen定義。

+0

謝謝這麼多喬什... – 2012-04-17 14:34:22

+0

@ahmedtabrez沒問題。請記住,這是我的理解。 – Josh 2012-04-17 14:34:42

2

,可以嘗試通過插座link

$handle = fopen("http://domain.com/params", "r"); 
$buffer = fgets($handle, 100); 
echo $buffer; 
fclose($handle); 
+0

謝謝,我會測試,並回來一會兒.. – 2012-04-17 14:15:56

+0

使用fopen與網址是假設'allow_url_fopen'在php.ini啓用[見這裏](http://www.php.net/manual/) en/filesystem.configuration.php#ini.allow-url-fopen) – 2012-04-17 14:25:13

+0

@yAnTar,對不起,你提到的代碼下載整個頁面,這是我不想做的。你能解釋一下這裏如何使用套接字嗎? – 2012-04-17 14:27:08