Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP获取带有前缀1、2、3等的所有图像(如果它们存在于文件夹中)_Php_File_Exists - Fatal编程技术网

PHP获取带有前缀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_

目标: 获取前缀为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_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;
    }
   }
 }