PHP: выборка файла без учета регистра

У меня есть изображение с именем Dark-Green.jpg, но вывод функции DARK-GREEN.jpg, поэтому изображение не отображается из-за учета регистра.

Итак, как я могу получить изображение?

ОБНОВЛЕНИЕ

Ниже мой вывод массива.

$output = Array
(
  [WE05-5040*L] => Array
    (
        [qty] => 1
        [stitching_category] => 2
        [sku_image] => skuimages/WE05/DARK-GREEN.jpg
    )

)

Затем я использую этот массив в цикле foreach, как показано ниже.

foreach ($output as $ok => $op) {
    $itemQty = $op['qty'];
    $itemImagePath = $op['sku_image'];
    echo "{$ok} has qty: {$itemQty} and the image as below.";
    echo "<img src='{$itemImagePath}' width='50%' />"
}

person Jigar Dhaduk    schedule 07.08.2019    source источник
comment
Просто просуньте руку глубоко в то, во что застряло изображение, и вытащите его. На самом деле я имею в виду: получить откуда, как? Покажи нам свой код.   -  person KIKO Software    schedule 07.08.2019
comment
@KIKOSoftware, код простой. Я использую вывод функции для извлечения изображения из папки.   -  person Jigar Dhaduk    schedule 07.08.2019
comment
Так что это выборка из файловой системы, а не из базы данных. Можете ли вы показать нам этот простой код и, возможно, функцию, о которой идет речь?   -  person KIKO Software    schedule 07.08.2019
comment
пришлось отозвать голосование, но pos обман stackoverflow.com/questions/3964793/   -  person treyBake    schedule 07.08.2019
comment
@KIKOSoftware. Пожалуйста, взгляните на обновленный вопрос.   -  person Jigar Dhaduk    schedule 07.08.2019
comment
@treyBake. Пробовал, но без учета регистра возвращает false.   -  person Jigar Dhaduk    schedule 07.08.2019
comment
Спасибо. Таким образом, в конце концов, HTML-ссылка на изображение выполняет выборку. В основном ваш вывод DARK-GREEN.jpg потерял информацию, а именно регистр букв имени изображения. Я вижу два возможных решения: 1. Вы восстанавливаете информацию, например, если все имена изображений написаны в верблюжьем регистре, вы можете это сделать. 2. Переименуйте файл изображения. Лучше всего, конечно, не потерять информацию (если она когда-либо существовала).   -  person KIKO Software    schedule 07.08.2019
comment
1: Не все имена изображений написаны в верблюжьем регистре. Было бы в любом случае. 2: изображения загружаются внешним пользователем, поэтому нельзя переименовать изображение. Есть ли какое-либо решение, с помощью которого я могу сделать свой вывод без изменения имени изображения и вывода функции?   -  person Jigar Dhaduk    schedule 07.08.2019
comment
Да, есть, и это уже было дано treyBake: вы сканируете папку с glob() на наличие имен изображений, похожих на DARK-GREEN.jpg, без учета регистра, с preg_grep(), и используете первое из того, что выходит. Однако это означает, что вы будете сканировать весь каталог для каждой ссылки на HTML-изображение, и это не очень эффективно (если в этом каталоге много изображений).   -  person KIKO Software    schedule 07.08.2019
comment
Да, пока это обходной путь.   -  person Jigar Dhaduk    schedule 07.08.2019


Ответы (1)


Попробуй это:

function getFile ($filename){
    $files = glob($dir . '/*');
    $filename = strtolower($filename);
    foreach($files as $file) {
       if (strtolower($file) == $filename){
            return $file;
        }
     }
     return  false;
}
person Ezequiel Fernandez    schedule 07.08.2019
comment
stackoverflow.com/questions/3964793 / работает у меня согласно ответу treyBake. - person Jigar Dhaduk; 07.08.2019
comment
Ах здорово! Очень похожий - person Ezequiel Fernandez; 07.08.2019