国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

PHP特點之使用遠程HTTP文件及FTP文件操作

瀏覽:2日期:2022-09-15 13:59:14

只要在 php.ini 文件中激活了 allow_url_fopen 選項,就可以在大多數需要用文件名作為參數的函數中使用 HTTP 和 FTP 的 URL 來代替文件名。同時,也可以在 include、include_once、 require 及 require_once 語句中使用 URL。PHP 所支持協議的更多信息參見支持的協議和封裝協議。

注意:

要在 PHP 4.0.3 及其更早的版本中使用 URL 封裝協議,需要在編譯時用 --enable-url-fopen-wrapper 參數來配置 PHP。

Windows 版本的 PHP 4.3 版之前不支持以下函數的遠程訪問: include, include_once, require, require_once 以及GD and Image 函數中的 imagecreatefromXXX 函數。

例如,可以用以下范例來打開遠程 web 服務器上的文件,解析需要的輸出數據,然后將這些數據用在數據庫的檢索中,或者簡單地以和自己網站其它頁面相同的風格輸出其內容。

Example #1 獲取遠程文件的標題

<?php $file = fopen ('/', '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);?>

運行結果如下:

PHP特點之使用遠程HTTP文件及FTP文件操作

如果有合法的訪問權限,以一個用戶的身份和某 FTP 服務器建立了鏈接,還可以向該 FTP 服務器端的文件進行寫操作。僅能用該方法來創建新的文件;如果嘗試覆蓋已經存在的文件, fopen() 函數的調用將會失敗。

要以“anonymous”以外的用戶名連接服務器,需要指明用戶名(可能還有密碼),例如“ftp://user:password@ftp.example.com/path/to/file”(也可以在通過需要 Basic 認證的 HTTP 協議訪問遠程文件時使用相同的語法)。

Example #2 將數據保存到遠程服務器

<?php $file = fopen ('ftp://ftp.example.com/incoming/outputfile', 'w'); if (!$file) {echo '<p>Unable to open remote file for writing.n';exit; } /* Write the data here. */ fwrite ($file, $_SERVER[’HTTP_USER_AGENT’] . 'n'); fclose ($file);?>

注意:

或許可以從以上范例中得到啟發,用該技術來存儲遠程日志文件。但是正如以上提到的,在用 fopen() 方式打開的 URL 中,僅能對新文件進行寫操作。如果遠程文件已經存在則 fopen() 函數的操作將會失敗。要做類似于分布式日志的事,可以參考 syslog() 函數。

標簽: PHP
相關文章:
主站蜘蛛池模板: 藁城市| 买车| 衡东县| 阳东县| 永康市| 南涧| 原阳县| 温宿县| 鹿泉市| 芷江| 宁明县| 五指山市| 罗源县| 仙居县| 永丰县| 海门市| 姜堰市| 金塔县| 衡水市| 岐山县| 兰州市| 延津县| 马尔康县| 阿坝县| 沙洋县| 容城县| 宝丰县| 陆丰市| 扎赉特旗| 当涂县| 福清市| 鲁甸县| 昭苏县| 绥棱县| 双鸭山市| 老河口市| 汨罗市| 广东省| 静安区| 屯留县| 南雄市|