2010-08-09 153 views
0

我有不同的查詢字符串,例如通過PHP變量

view.php?id=5 
view.php?id=6 
view.php?id=7 

使用的file_get_contents如下另一個PHP頁面即時通訊上的一些網址的:

$page = file_get_contents('view.php?id=5'); 
$file = 'temp/form.html'; 
file_put_contents($page, $file); 

這當然只寫第一個id爲'5',那麼如何在此頁面上檢索'id'變量並將其寫入到我的file_get_contents行中,以便我不必在單獨的行中寫出所有的id

thanks rifki

+0

「id」從哪裏來? – 2010-08-09 10:31:37

+0

......即,究竟是什麼「我有不同的查詢字符串的網址數」是什麼意思?你有嗎?以哪種格式?你如何解析它? ...? – VolkerK 2010-08-09 10:35:15

+0

對不起,身份證來自數據庫中的字段 – Rifki 2010-08-09 10:40:38

回答

2

如果我理解正確,在您演示的情況下您可以使用for循環或類似的東西。但是,只有ID是數字並且相互跟隨時纔有效。

例子:

for($i = 5; $i <=7; $i++) { 
    $page = file_get_contents('view.php?id='.$i); 
    $file = 'temp/form.html'; 
    file_put_contents($page, $file); 
} 

更新時間: 如果你的ID來自數據庫,你可以選擇通過所有的ID和循環。例如,

$sql = 'SELECT id FROM tablename;'; 
$res = mysql_query($sql); 
while($row = mysql_fetch_assoc($res)) { 
    $page = file_get_contents('view.php?id='.$row['id']); 
    $file = 'temp/form.html'; 
    file_put_contents($page, $file); 
} 
1

如果您在您的查詢字符串獲取ID我的意思是網址,你應該寫這樣的事情:

$page = file_get_contents('view.php?id='.$_GET['id']); 
$file = 'temp/form_'.$_GET['id'].'.html'; 
file_put_contents($page, $file); 
0

從查詢字符串retrive變量使用

$ _GET ['variable_name']

默認情況下,無論何時向服務器發出請求,它都是GET方法whi除非明確指定表單方法爲POST,否則將調用ch。

//變量名是在查詢字符串

2

如果這些網址是用來瀏覽您可以使用$ _GET數組(Official PHP Manual for the $_GET method)某些頁面的變量的名稱。
它只是獲取通過GET方法傳遞變量的值(即page.php?var1=1&var2=2),所以,如果你需要得到價值爲你的頁面的ID代碼應該是這樣的:

$id = $_GET['id']; 
$request = 'view.php?id='.$id; 
$page = file_get_contents($request); 
$file = 'temp/form.html'; 
file_put_contents($page, $file); 

第一行獲取通過URL傳遞的ID,然後第二個創建請求字符串傳遞給你的file_get_contents函數,然後另一個就像你的代碼。
如果您從這些頁面內請求數據,例如,如果您知道所有需要的頁面,則可以使用for子句來解決此問題。
解決的辦法之一可能是:

$first_page = 5; 
$last_page = 7;  
for ($i = $first_page; $i <= $last_page; $i++) { 
    $request = 'view.php?id='.$i; 
    $page = file_get_contents($request); 
    $file = 'temp/form.html'; 
    file_put_contents($page, $file); 
} 

有了這個,你只需簡單地設置第一和要申請的最後一頁,然後你通過網頁使用這些值週期,然後調用你的函數做你的...「stuff」:D
這是一個很好的方法,因爲您可以在運行時設置for語句的值,因此您不必每次都更改該文件。
但是我認爲使用頁面中不同於整數的標識會更好,就像id=home或類似的東西。