Witam wszystkich
Tak na wstepie jest to fragment skryptu galerii.
Potrzebuje zmodyfikować ten skrypt tak żeby pobierał informacje o jakości dla pliku jpg z pliku define.inc.php i tworzyl miniaturke i duży plik zgodnie z jej parapetrami
<?php
...
define('JAKOSCMI','80'); //miniaturka define('JAKOSCMA','80'); //duży plik ...
?>
plik który dodaje wpisy do bazy oraz tworzy pliki jpg
<?php
if (!defined('APP_DIR')) exit('Nie można wywołać skryptu'); if (!isset($_FILES['zdjecie']) || !isset($_POST['zdjecie_opis'])) { $error = 'Błąd formularza';
return;
}
switch ($_FILES['zdjecie']['error']) {
case 0:
if ($_FILES['zdjecie']['type']!='image/jpeg' && $_FILES['zdjecie']['type']!='image/pjpeg') {
$error = 'Przesłany plik nie jest plikiem JPEG';
return;
}
break;
case 1:
case 2:
$error = 'Plik jest zbyt duży';
return;
break;
case 3:
$error = 'Proces przesyłania pliku nie został zakończony';
return;
case 4:
$error = 'Nie przesłano pliku';
return;
default:
$error = 'Wystąpił nieznany błąd nr.:'.$_FILE['plik']['error'].'. Przesłanie pliku nie powiodło się';
return;
}
if (trim($_POST['zdjecie_opis'])=='') { $error = 'Nie podano opisu zdjęcia';
return;
}
if (!isset($_GET['katid'])) { $error = 'Nie wybrano kategorii';
return;
}
if (!Kategoria::kategoriaIstnieje($_GET['katid'], true)) {
$error = 'Nie wybrano kategorii';
return;
}
$postfix = '';
$nazwa = 'galeria/'.$_FILES['zdjecie']['name'];
$zdjObj = new Zdjecie();
$zdjObj->_opis = $_POST['zdjecie_opis'];
$zdjObj->_kategoria = $_GET['katid'];
$staryObrazek = imagecreatefromjpeg($_FILES['zdjecie']['tmp_name']);
list
($width, $height) = getimagesize($_FILES['zdjecie']['tmp_name']);$wymiar = $height/$width;
$widthN = $width;
$heightN = $height;
if ($width>$height) {
if ($width>MAX_X) {
$widthN = MAX_X;
$heightN = $widthN*$wymiar;
}
} else {
if ($height>MAX_Y) {
$heightN = MAX_Y;
$widthN = $heightN/$wymiar;
}
}
$nowyObrazek = imagecreatetruecolor($widthN, $heightN);
imagecopyresized($nowyObrazek, $staryObrazek, 0, 0, 0, 0, $widthN, $heightN, $width, $height);
if (!@imagejpeg($nowyObrazek, $nazwa)) {
imagedestroy($nowyObrazek);
imagedestroy($staryObrazek);
$error = 'Nie można zapisać zdjęcia';
return;
}
imagedestroy($nowyObrazek);
if ($width>$height) {
$widthN = MIN_X;
$heightN = $widthN*$wymiar;
} else {
$heightN = MIN_Y;
$widthN = $heightN/$wymiar;
}
$miniaturka = imagecreatetruecolor($widthN, $heightN);
imagecopyresized($miniaturka, $staryObrazek, 0, 0, 0, 0, $widthN, $heightN, $width, $height);
if (!@imagejpeg
($miniaturka, 'galeria/mini_'.basename($nazwa))) { imagedestroy($miniaturka);
imagedestroy($staryObrazek);
$error = 'Nie można zapisać miniatruki zdjęcia';
return;
}
imagedestroy($miniaturka);
imagedestroy($staryObrazek);
if (Blad::jestBledem($rezultat = $zdjObj->zapisz())) {
$error = $rezultat->_tresc;
return;
}
$info = 'Zdjęcie dodano do bazy danych';
?>
oraz czy możecie mi powiedzieć w jaki sposób można ograniczyc maksymalny rozmiar przesyłanego pliku jpg, i ile on wynosi jeśli nie jest zdefiniowany
Ten post edytował lord_borsuk 4.08.2008, 14:16:47