我想用php或yii2检查存在的文件
filesize
以及is_file
和file_exists
无效!
filesize
错误是:filesize(): stat failed for....
is_file
和file_exists
返回false!
这是我的代码:
$fileI = $urlBase . "$home/../siteImage/$logo";
$ fileI是:
http://localhost/iicitySite/web/index.php/../siteImage/parvaz.png
$ home is:
$home -> /iicitySite/web/index.php
这在视图中具有正确的图像:
echo "
<div class='col-lg-12 col-xs-12 col-sm-12 col-md-12 forsatItem'>
<div class='backItem'>
<div class='rightM col-lg-4'>
<div class='imgForsat'>
<img src='$home/../siteImage/$logo' alt=''/>
</div>
。 。 。
答案 0 :(得分:1)
我已经检查并验证了下面的代码,它运行正常。
$filename = '/path/to/foo.txt';
if (file_exists($filename)) {
echo "The file $filename exists";
} else {
echo "The file $filename does not exist";
}
如果您无法执行此操作,则表示您同意该问题。尝试检查桌面或其他允许目录中的文件。
希望这会有所帮助。
答案 1 :(得分:1)
试试这个
$url = 'http://www.example.com';//or file path
$headers = get_headers($url, 1);
print_r($headers);//$headers[0] u will get the status
来源:link
答案 2 :(得分:1)
在你的路径中,你不需要index.php,只需要路径
您可以使用此方法获取绝对值(包括http的整个网址)url:
echo Url::to('@web/siteImage/parvaz.png', true);
// http://codematrics.com/web/siteImage/parvaz.png
如果你想使用相对(相对于当前路径)路径,你可以使用它:
echo Url::to('@web/siteImage/parvaz.png', true);images/logo.png
// http://codematrics.com/web/siteImage/parvaz.png
答案 3 :(得分:0)
如果你正在检查文件是否存在于服务器只是你必须给出绝对路径,我使用\ Yii :: getAlias(&#39; @ webroot&#39;)来获取绝对路径和我& #39; m从Controller执行此操作。
这是我在网络浏览器中的结果。
绝对路径:/home/hostinguser/public_html/files/temppdf/benja.pdf 文件/home/hostinguser/public_html/files/temppdf/benja.pdf存在
$pathFile = \Yii::getAlias('@webroot') .'/files/temppdf/' . 'benja.pdf';
echo "<br>Absolute Path:" . $pathFile;
if (file_exists($pathFile)) {
echo "<br>The File $pathFile Exists";
} else {
echo "<br>The File $pathFile Do Not Exist";
}
答案 4 :(得分:-2)
$url = 'http://www.example.com'; // or file path
$headers = get_headers($url, 1);
print_r($headers); // $headers[0] will get the status