В следующем коде, который хранит jpg в db, мне нужно знать, как сначала изменить качество jpg на 40%, а затем сохранить? я пробовал с imagejpg
, но он сохраняет нулевые файлы:
function exportGraphics($table_name)
{
$odbc_query = "SELECT * FROM " . $table_name;
mkdir("TI/" . $table_name);
$data = odbc_exec($this->odbc_id, $odbc_query);
odbc_longreadlen($data, 10485760); // 10MB = 10485760
while (odbc_fetch_row($data)) {
$row = odbc_fetch_array($data);
if ($row['GRD_ID'] != "") {
$file_name_jpg = "TI/" . $table_name . "/" . $row['GRD_ID'] . ".jpg";
$file = fopen($file_name_jpg, "w");
fputs($file, $row['GRD_GRAPHIC']);
fclose($file);
set_time_limit(3600);
unset($row);
}
}
print "Ýêñïîðò êàðòèíîê èç òàáëèöû " . $table_name . " çàâåðøåí!";
}
Предупреждение: imagecreatefromstring() [function.imagecreatefromstring]: предупреждение gd: один параметр для умножения выделения памяти отрицательный или нулевой, изящная ошибка операции в X:\denwer\www\denwer\tecdoc3.php в строке 103
Предупреждение: imagecreatefromstring() [function.imagecreatefromstring]: переданные данные не в формате «WBMP» в X:\denwer\www\denwer\tecdoc3.php в строке 103.
Предупреждение: imagecreatefromstring() [function.imagecreatefromstring]: не удалось создать поток изображений GD из данных в X:\denwer\www\denwer\tecdoc3.php в строке 103.
Предупреждение: imagecreatefromstring() [function.imagecreatefromstring]: предупреждение gd: один параметр для умножения выделения памяти отрицательный или нулевой, изящная ошибка операции в X:\denwer\www\denwer\tecdoc3.php в строке 103
исходный код:
function exportGraphics($table_name) {
$odbc_query = "SELECT * FROM " . $table_name;
mkdir("TI/" . $table_name);
$data = odbc_exec($this->odbc_id, $odbc_query);
odbc_longreadlen($data, 10485760); //10MB = 10485760
while(odbc_fetch_row($data))
{
$row = odbc_fetch_array($data);
if($row['GRD_ID'] != "") {
$file_name_jp2 = "TI/" . $table_name . "/" . $row['GRD_ID'] . ".jp2";
$file = fopen ($file_name_jp2, "w");
fputs($file, $row['GRD_GRAPHIC']);
fclose($file);
set_time_limit(0);
unset($row);
}
}
print "Ýêñïîðò êàðòèíîê èç òàáëèöû " . $table_name . " çàâåðøåí!";
}
$im = imagecreatefromstring($row['GRD_GRAPHIC']);
не работает, потому что PHP не считает$row['GRD_GRAPHIC']
допустимыми данными изображения. Закодированы ли эти данные каким-либо образом (например, base64) и какой формат изображения должен быть, JPG? 27.07.2012.jpg
, если он работает, поскольку он должен выводить окончательный файл с расширением .jpg с тем же именем, что и файл .jp2. 29.07.2012