我無法理解一件事。在代碼中,例如:Php - 文件路徑的煩惱
$filePath = 'http://wwww.server.com/file.flv';
if(file_exist($filePath))
{
echo 'yes';
}
else
{
echo 'no';
}
爲什麼腳本返回「否」,但是當我將該鏈接複製到它下載的瀏覽器時?
我無法理解一件事。在代碼中,例如:Php - 文件路徑的煩惱
$filePath = 'http://wwww.server.com/file.flv';
if(file_exist($filePath))
{
echo 'yes';
}
else
{
echo 'no';
}
爲什麼腳本返回「否」,但是當我將該鏈接複製到它下載的瀏覽器時?
file_exists()函數正在查找從服務器文件系統的角度存在的文件或目錄。如果http://www.server.com/相當於到/ home /用戶名/的public_html /那麼你需要讓你的代碼:
$filename = '/home/username/public_html/file.flv';
if(file_exists($filename))
{
//true branch
}
else
{
//false brach
}
更多信息,請參見http://php.net/file_exists。
file_exists()檢查文件系統文件和目錄。使用fopen()也可以查看該網址是否可以訪問。如果相應的服務器將爲該資源返回404 Not Found,fopen()將返回false併發出警告。更好的解決方案是發出HTTP HEAD請求。
首先,您需要使用的php函數是file_exists()和末尾的's'。其次,我認爲文件的路徑必須是本地文件路徑,而不是URL。不知道雖然...
使用
$_SERVER["DOCUMENT_ROOT"]
,以確保正確的文件系統路徑,不依賴由開發或生產系統例如。
在這種情況下,這將是
$filePath = $_SERVER["DOCUMENT_ROOT"].'/file.flv';
做:
function isExistsFileOnMyWebsite($fileName) {
return file_exist($_SERVER['DOCUMENT_ROOT'].'/'.$fileName);
}
if(isExistsFileOnMyWebsite('file.flv'))
{
echo 'yes';
}
else
{
echo 'no';
}