PHP获取带有前缀1、2、3等的所有图像(如果它们存在于文件夹中)
目标: 获取前缀为1、2、3等的所有图像(如果它们存在于文件夹中) 问题:PHP获取带有前缀1、2、3等的所有图像(如果它们存在于文件夹中),php,file,exists,Php,File,Exists,目标: 获取前缀为1、2、3等的所有图像(如果它们存在于文件夹中) 问题: db while循环将动态添加图像名称。返回:13848。但是我需要检索:13848.jpg,1_13848.jpg,2_13848.jpg,3_13848.jpg,如果它们存在的话。 如何检查并返回使用此模式存在的图像 图像名称与产品标识相同。 我正在从数据库查询中获取名称/id部分 我的现有图像: folder_name/13848.jpg folder_name/1_13848.jpg folder_name/2_
db while循环将动态添加图像名称。返回:13848。但是我需要检索:13848.jpg,1_13848.jpg,2_13848.jpg,3_13848.jpg,如果它们存在的话。 如何检查并返回使用此模式存在的图像 图像名称与产品标识相同。 我正在从数据库查询中获取名称/id部分 我的现有图像:
folder_name/13848.jpg
folder_name/1_13848.jpg
folder_name/2_13848.jpg
folder_name/3_13848.jpg
function imageExists($image,$dir) {
$i=1; $try=$image;
while(file_exists($dir.$probeer)) {
if($image[1] != "_") {
$try= $i. "_" . $image;
}
else {
$try=$image;
}
$i++;
}
return $try;
}
while ($r = $q->fetch()) {
$image_folder = "folder_name/";
$image_id = $r['product_id'].".jpg";
$new_imagePath = $image_folder . imageExists($image_id,$image_folder);
echo "<a href='". $imagePath ."'><img class='product' height='' src='". $new_imagePath ."' alt='". $r['product_id'] ."-". str_replace("'", "", $r['product_name']) . "' title='". str_replace("'", "", $r['product_name']) ."' /></a>";
}
我的努力:
folder_name/13848.jpg
folder_name/1_13848.jpg
folder_name/2_13848.jpg
folder_name/3_13848.jpg
function imageExists($image,$dir) {
$i=1; $try=$image;
while(file_exists($dir.$probeer)) {
if($image[1] != "_") {
$try= $i. "_" . $image;
}
else {
$try=$image;
}
$i++;
}
return $try;
}
while ($r = $q->fetch()) {
$image_folder = "folder_name/";
$image_id = $r['product_id'].".jpg";
$new_imagePath = $image_folder . imageExists($image_id,$image_folder);
echo "<a href='". $imagePath ."'><img class='product' height='' src='". $new_imagePath ."' alt='". $r['product_id'] ."-". str_replace("'", "", $r['product_name']) . "' title='". str_replace("'", "", $r['product_name']) ."' /></a>";
}
像这样使用它:
folder_name/13848.jpg
folder_name/1_13848.jpg
folder_name/2_13848.jpg
folder_name/3_13848.jpg
function imageExists($image,$dir) {
$i=1; $try=$image;
while(file_exists($dir.$probeer)) {
if($image[1] != "_") {
$try= $i. "_" . $image;
}
else {
$try=$image;
}
$i++;
}
return $try;
}
while ($r = $q->fetch()) {
$image_folder = "folder_name/";
$image_id = $r['product_id'].".jpg";
$new_imagePath = $image_folder . imageExists($image_id,$image_folder);
echo "<a href='". $imagePath ."'><img class='product' height='' src='". $new_imagePath ."' alt='". $r['product_id'] ."-". str_replace("'", "", $r['product_name']) . "' title='". str_replace("'", "", $r['product_name']) ."' /></a>";
}
while($r=$q->fetch()){
$image\u folder=“folder\u name/”;
$image\u id=$r['product\u id'].“.jpg”;
$new\u imagePath=$image\u folder.imageExists($image\u id,$image\u folder);
回声“;
}
现在它返回不存在的图像:
文件夹\u name/4\u 13848.jpg您的问题是什么?图像名称由db while循环动态添加。返回:13848。但是我需要检索:1_13848.jpg、2_13848.jpg、3_13848.jpg等等,如果它们存在的话。感谢您的努力,欢迎来到SO,并感谢您的贡献。考虑给你的答案添加一个文本注释,而不仅仅是一个片段。@海纳,谢谢你的努力,但是它只返回真或假。图像是动态添加的。请看我帖子中的问题。我正在检查db cal的返回,而不是带有图像的文件夹。
$files = glob('FOLDER_PATH/*.{jpg}',GLOB_BRACE);
function image_exist($files){
foreach($files as $file){ //retrieves all file name in specified folder
if (strpos($file, '_') !== false){ //Checks 1_567898.jpg type file exist
return true;
}
else{
return false;
}
}
}