查看完整版本 : [問題] php - fsockopen
furan
2007-07-19, 04:49 PM
請教各位大大一下
如果我開啟網路上的一份文件
假設我用fsockopen開啟 "http://domainclub.org/index.html"
我如何得知這個 index.html 是一個檔案而不是一個目錄呢?
(也許它餵我的是 "http://domainclub.org/index.html/index.php")
polin
2007-07-19, 06:00 PM
提供一個小方法,可能還有更好的方法吧~~
$url = parse_url("http://domainclub.org/index.html");
$path = substr($url[path],1);
var_dump(is_file($path)); //用is_file()判斷是否為檔案
*你是要用fopen吧?!
furan
2007-07-19, 09:30 PM
提供一個小方法,可能還有更好的方法吧~~
$url = parse_url("http://domainclub.org/index.html");
$path = substr($url[path],1);
var_dump(is_file($path)); //用is_file()判斷是否為檔案
*你是要用fopen吧?!
感謝polin兄
不過我卻還是玩不出來
以這個例子而言
首先第二行的$path會剩下index.html
如果我是在 localhost跑程式的話
那麼is_file($path) 是否就是針對我硬碟內的 index.html而言
可是我要的是 domainclub.org 下的index.html
嘗試用 is_file("http://domainclub.org/index.php")
但是還是傳回 false
is_file 是否只針對跑程式的那台主機的檔案?
fopen跟fsockopen我也分不清楚
程式的前段是抄來的
他用 fsockopen
所以我就照抄了
polin
2007-07-19, 09:49 PM
感謝polin兄
不過我卻還是玩不出來
以這個例子而言
首先第二行的$path會剩下index.html
如果我是在 localhost跑程式的話
那麼is_file($path) 是否就是針對我硬碟內的 index.html而言
可是我要的是 domainclub.org 下的index.html
嘗試用 is_file("http://domainclub.org/index.php")
但是還是傳回 false
is_file 是否只針對跑程式的那台主機的檔案?
fopen跟fsockopen我也分不清楚
程式的前段是抄來的
他用 fsockopen
所以我就照抄了
對喔 我都忘記會變成主機端的路徑:XD:
is_file()不能直接用URL
那就用fsockopen建立連線
再用fputs和fread去做,看得到什麼回應來判斷
請教各位大大一下
如果我開啟網路上的一份文件
假設我用fsockopen開啟 "http://domainclub.org/index.html"
我如何得知這個 index.html 是一個檔案而不是一個目錄呢?
(也許它餵我的是 "http://domainclub.org/index.html/index.php")
剛剛才看到這個主題.
其實不用想的太複雜.
用 fopen() 去抓, 如果不是檔案的話會抓不到值.
而且會出現錯誤訊息.
記得加上 @ 去蓋住錯誤訊息, 這樣就可以了.
有沒有值, 這樣判斷最簡單了.
vBulletin® v3.8.4,版權所有 ©2000-2026,Jelsoft Enterprises Ltd.