回覆列表
  • 1 # yrnat47409

    當檢查的檔案是本地時用php自帶的file_exists檢查就行了,而此函式只能檢查本地的函式是否存在, 所以如果要檢查遠端的檔案是否存在只能用其它的方法了。 如果所伺服器中php的配置開啟了“allow_url_fopen = On”,即允許遠端訪問,那麼也很簡單,其實這個是php.ini中預設開啟的, 用fopen函式判斷就行了,能開啟說明存在 如果allow_url_fopen = Off那麼可以用socket通訊來解決 下面寫的一個通用函式my_file_exists來檢查檔案是否存在 function my_file_exists($file){if(preg_match("/^http:\/\//",$file)){//遠端檔案if(ini_get("allow_url_fopen")){ if(@fopen($file,"r")) return true;}else{$parseurl=parse_url($file); $host=$parseurl["host"]; $path=$parseurl["path"]; $fp=fsockopen($host,80, $errno, $errstr, 10); if(!$fp)return false; fputs($fp,GET {$path} HTTP/1.1 \r\nhost:{$host}\r\n\r\n); 現在就可以呼叫此函式來檢查檔案的存在性,而不用去考慮是遠端還是本地檔案,或者是否禁用了allow_url_open

  • 中秋節和大豐收的關聯?
  • 四色猜想怎麼來的?