我想检查目录是否包含特定文件(任何类型,图像,pdf等)。如果它包含该文件,我想为此文件提供下载链接,否则请打印"not exist"
。不幸的是,即使文件存在于目录中,我的代码也始终打印not exist
。这是我的代码:
<td> <?php
if (file_exists('plans/'.$RID)) {
echo"<a href='plans/$RID'>Plan</a>";
} else {
echo "not exists";
}
?> </td>
这是另一个我也试过但但没有工作的代码:
<td> <?php
$plan= 'plans/'.$RID;
if (file_exists($plan)) {
echo"<a href='plans/$RID'>Plan</a>";
} else {
echo "not exists";
}
?> </td>
答案 0 :(得分:1)
提供绝对路径作为函数的参数:
如果您的脚本路径是计划目录的父目录,则参数可以是__DIR__ . '/plans'
,例如。
编辑:要捕获包含某些扩展名的文件,您可以创建一个包含允许扩展名的数组。
<td><?php
$extensionsAllowed = ['jpg','pdf','png']; //complete it
foreach ($extensionsAllowed as $extension){
if (file_exists( __DIR__ . 'plans/'.$RID.'.'.$extension)) {
echo '<a href="plans/'.$RID.'.'.$extension.'" download>Plan</a>';
} else {
echo "not exists";
}
?> </td>
答案 1 :(得分:0)
如果计划是您拥有用于检查文件的php文件的目录,那么就不需要将文件放在file_exists中与文件名一起
<td>
<?php
if (file_exists($RID)) {
echo"<a href='plans/$RID'>Plan</a>";
} else {
echo "not exists";
}
?>
</td>
否则你可以这样做,
<?php
$Path = $_SERVER['DOCUMENT_ROOT'].'/plans/'.$RID;
if (file_exists($Path)) {
echo"<a href='plans/$RID'>Plan</a>";
} else {
echo "not exists";
}
?>
</td>
答案 2 :(得分:-1)
从
改变<td>
<?php
if (file_exists('plans/'.$RID)) {
echo"<a href='plans/$RID'>Plan</a>";
} else {
echo "not exists";
}
?>
</td>
到
<td>
<?php
if (!file_exists('plans/'.$RID)) {
mkdir('plans/'.$RID, 0777, true);
echo"<a href='plans/$RID'>Plan</a>";
}
?>
</td>