文章詳情頁
如何使用PHP獲取網絡上文件
瀏覽:9日期:2023-12-24 13:14:36
<!-- generateindex.php --><?php//設置我們將要使用的文件$srcurl = "http://localhost/index.php";$tempfilename = "tempindex.html";$targetfilename = "index.html";?><HTML><HEAD><TITLE>Generating <?php echo("$targetfilename"); ?></TITLE></HEAD><BODY><P>Generating <?php echo("$targetfilename"); ?>...</P><?php//首先刪除上次操作可能遺留下來的臨時文件。//這個過程可能會提示錯誤,所以我們使用@以防止報錯。@unlink($tempfilename);//通過一個URL的請求裝入動態版本。//在我們接收到相關內容之前,Web服務器會對PHP進行處理//(因為本質上我們是在模擬一個Web瀏覽器),//所以我們將獲得的是一個靜態的HTML頁面。//'r'指出我們只要求對這個“文件”進行讀操作。$dynpage = fopen($srcurl, 'r');//處理錯誤if (!$dynpage) {echo("<P>Unable to load $srcurl. Static page "."update aborted!</P>");exit();}//將這個URL的內容讀入到一個PHP變量中。//指定我們將讀取1MB的數據(超過這個數據量一般是意味著出錯了)。$htmldata = fread($dynpage, 1024*1024);//當我們完成工作后,關閉到源“文件”的連接。fclose($dynpage);//打開臨時文件(同時在這個過程中建立)以用來寫入(注意'w'的用法).$tempfile = fopen($tempfilename, 'w');//處理錯誤if (!$tempfile) {echo("<P>Unable to open temporary file "."($tempfilename) for writing. Static page "."update aborted!</P>");exit();}//將靜態頁面的數據寫入到臨時文件中fwrite($tempfile, $htmldata);//完成寫入后,關閉臨時文件。fclose($tempfile);//如果到了這里,我們應該已經成功地寫好了一個臨時文件,//現在我們可以用它來覆蓋原來的靜態頁面了。$ok = copy($tempfilename, $targetfilename);//最后刪除這個臨時文件。unlink($tempfilename);?><P>Static page successfully updated!</P></BODY></HTML>
標簽:
PHP
排行榜