程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP如何實現獲取網絡上的文件?

PHP如何實現獲取網絡上的文件?

編輯:關於PHP編程

     PHP可以獲取網絡上的文件嗎?PHP如何實現獲取網絡上的文件?請看實例代碼:
    <!-- 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>

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved