Сохранение изображений в PHP с именем переменной

В настоящее время я разрабатываю веб-приложение, и мне нужна помощь.

Функциональные возможности следующие: Веб-сайт, подключенный к базе данных mysql. Вам нужно дважды выбрать бренд, а затем продукты этого бренда решить с помощью связанных динамических раскрывающихся списков. На основе этого выбора выполняются два запроса, выбирающие значения цвета из базы данных, отображающие их в текстовых полях. Решено с помощью jquery, PHP и JSON.

Теперь я создал раздел, в котором будет отображаться изображение в цвете из выбранных значений RGB из БД. PHP необходимо создать изображение JPG, используя значения RGB из БД, и сохранить изображение на сервере.

Когда я реализую imagecreate в php и передаю путь jquery, чтобы выделить его для '"#target", я получаю проблемы.

Я рассматривал два пути: а) генерировать изображение на лету, называть его 1.jpg и перезаписывать изображение в каждом случае. Затем я сталкиваюсь с проблемами с кешем браузера, загружая предыдущее изображение, хотя новое изображение уже хранится в папке.

б) сгенерировать новые изображения и сохранить их для лучшей производительности, названные значениями RGB (т.е. 151 | 50 | 22.jpg), и загрузить, если они уже существуют, создать, если нет, но я не могу сохранить путь, когда переменная находится в imagejpeg () в PHP?

Я могу сохранить i) комбинацию элементов пути и строки «1.jpg» и ii) путь, сделанный из чистой строки, но не путь, сделанный из комбинации текста и переменной, несущей правильное имя изображения. Возможно, это делается с правым экранированием переменной ???

Errors are: Warning: imagejpeg(images\rgb\225|151|169.jpg): failed to open stream: No such file or directory in C:\xampp\htdocs\COLOMETRIX\get_swatch_1a.php on line 39

{"решение": "images \ rgb \ 225 | 151 | 169.jpg"} это вывод Json

Код следующий:

<?php
$prod1 = $_GET['q'];
include('db_config.php');

// clear variables
$decision='';
$data=''; 

// select dataset  
$result=$db->query("SELECT R, G, B, Get_Col, Selection 
                    FROM farbdatenbank.farbdatenbank 
                    WHERE Name ='".$prod1."' ")
            or die($db->error);
$datensatz=$result->fetch_array(MYSQLI_ASSOC);

// define paths and filename
$file=$datensatz['Get_Col'];
$filename=$file.".jpg"; 
$path_rgb='images'.DIRECTORY_SEPARATOR.'rgb'.DIRECTORY_SEPARATOR.$filename;

if ($datensatz['Selection'] == "Excel"){ 
    // get color values
    $R=$datensatz['R'];
    $G=$datensatz['G'];
    $B=$datensatz['B']; 

    //check if file already exists
    if (file_exists($path_rgb) == true) {   
        $decision=$path_rgb;        
    }
    else
    {   
        // create new image 
        $im1=imagecreatetruecolor(150, 70);
        $colim1=imagecolorallocate($im1, $R, $G, $B);
        imagefill($im1,0,0,$colim1);
        $old =  'images'.DIRECTORY_SEPARATOR.'rgb'.DIRECTORY_SEPARATOR.'zzz.jpg';   
        imagejpeg($im1,$path_rgb,100);
        $decision=$path_rgb;    
    } 
}   
Else 
{   
    $decision='images'.DIRECTORY_SEPARATOR.'pics'.DIRECTORY_SEPARATOR.$filename;    
}
// build output array and encode in JSON format 
$data=array("decision"=>$decision);
echo json_encode($data);
mysqli_close($db);  
?>

Спасибо за ваше время

Майкл

В чем именно проблема - запись в нужные файлы? Что вы пробовали для устранения проблемы?

Nico Haase 11.04.2018 18:35
В UPVoter. Просто потому, что вопрос в том, что long and winding не делает его частью yellow brick road!
RiggsFolly 11.04.2018 18:40

Я не думаю, что вертикальная черта | действительна в имени файла или каталога.

RiggsFolly 11.04.2018 18:43

Что для DIRECTORY_SEPARATOR установлено в вашем коде

RiggsFolly 11.04.2018 18:44
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
4
218
0

Другие вопросы по теме