В настоящее время я разрабатываю веб-приложение, и мне нужна помощь.
Функциональные возможности следующие: Веб-сайт, подключенный к базе данных 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);
?>
Спасибо за ваше время
Майкл
long and winding не делает его частью yellow brick road!
Я не думаю, что вертикальная черта | действительна в имени файла или каталога.
Что для DIRECTORY_SEPARATOR установлено в вашем коде






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