如何仅检查文件名而不是jpeg, jpg, doc, xls
这样的扩展名。然后复制其完整名称,如example.jpeg
或example.doc
如果可能的话,我们可以存储其上面的两个父目录,如
如果example.jpeg存储在
中main_dir/second_dir/example.jpeg
所以我想在php变量中存储这个路径。
我知道我可以使用glob()
$result = glob ("./uploads/filename.*");
并检查$result
值。
但我想存储完整的文件名和可能的两个父目录路径。
以下是我的代码
$filename = '/www/test1/'. $file . '*' ;
if (count(glob($filename)) > 0) {
echo "The file $filename exists";
} else {
echo "The file $filename does not exist";
}
修改
根据luweiqi解决方案更新了查询
foreach(glob("/uploads/".$productnumber."/". $productnumber."b.*", GLOB_NOSORT) as $file) {
echo "Filename: " . $file . "<br />";
$image2 = "/uploads/".$productnumber."/".$file;
}
图像的最后一个字母的变化类似于f。所以你可以在其中做一些修正。 我想在uploads / productnumber / productnumber(a / b / c / d / e / f).jpg或png或jpeg等上检查图像,并将该文件名存储在php变量中。
答案 0 :(得分:1)
您可以使用file_exists()功能。
$pngFile = '/path/to/foo.png';
$docFile = '/path/to/foo.doc';
// Returns TRUE if the file or directory specified by filename exists; FALSE otherwise.
if (file_exists($filename) || file_exists($docFile)) {
echo "The file $filename exists";
} else {
echo "The file $filename does not exist";
}
OR
使用glob功能
$files=[];
$result = glob ("/path/to/foo.*");
foreach ($result as $file) {
echo "$file size " . filesize($file) . "\n";
$files[] = $file;
}
echo '<pre>'; print_r($files);
答案 1 :(得分:1)
您可以使用:
<?php
foreach(glob("../directory/*{a,b,c,e,f}.*", GLOB_BRACE) as $file) {
echo "Filename: " . $file . "<br />";
}
?>
此代码将获取文件名并回显它,如果要将其分配给变量,可以相应地更改它。