Wystukałem kod na upload zdjęcia. Po walidacji formatu, wagi itd sprawdza wysokość: te której mają wysokość>=600 zmniejsza, inne przesyła.
Potem ma tworzyć miniaturkę. I tu problem, bo miniaturkę tworzy tylko w wypadku zmiejszenia. Tych, których nie zmniejszał, nie tworzy miniaturki.
Kod jest długi, ale tylko tak można zobaczyć gdzie jest problem
<?PHP
$upload = false;
$id = $i1.$i2.$i3.$i4.$i5;
function form2()
{
echo '<form action="index.php?page=dodaj2" method="post" enctype="multipart/form-data">'; echo '<div class="konto_box"><div class="konto_box_text"><img src="images/photos.png"/> Zdjęcia</div></div>'; echo '<div class="konto_box_link">'; echo '<input type="file" name="plik[]" multiple="multiple"/><br><br> <font size=2>Aby wybrać kilka plików przytrzymaj CTRL i zaznacz zdjęcia.<br>Maksymalnie 5 plików po 1MB każdy.</font>';
echo '<div style="margin-top:20px"></div>'; echo '<div class="konto_box"><div class="konto_box_text"><img src="images/contact.png"/> Kontakt</div></div>'; echo '<div class="konto_box_link">'; echo 'Telefon <input type="text" name="telefon" class="ustawienia_form" maxlength=15><br>'; echo 'E-mail <input type="text" name="mail" class="ustawienia_form" maxlength=30>'; echo '<br><br><input type="submit" name="wyslano2" value="Kontynuuj" class="dodaj_submit"></form>'; }
if($_SESSION["ok"]==true)
{
if (@$_SERVER['HTTP_REFERER'] == 'http://127.0.0.1/ogl/index.php?page=dodaj' OR 'http://127.0.0.1/ogl/index.php?page=dodaj2')
{
if(isset($_POST["wyslano2"])) {
$telefon = $_POST["telefon"];
$mail = $_POST["mail"];
{
if(preg_match('/^[a-zA-Z0-9\.\-_]+\@[a-zA-Z0-9\.\-_]+\.[a-z]{2,4}$/D', $mail)) {
{
$l = count($_FILES['plik']['tmp_name']); if($l>0 && $l<=5)
{
for($i=0; $i <= 5; $i++)
{
{
list
($oldWidth, $oldHeight) = getimagesize($_FILES['plik']['tmp_name'][$i]); $nazwa = $l1.$l2.$l3.$l4.$l5.$l6.$l7.$l8.$l9.$l10.$l11.$l12.$l13.$l14.$l15;
if($_FILES['plik']['size'][$i]<='1048576')
{
$allowed = array('image/pjpeg', 'image/jpeg', 'image/JPG', 'image/X-PNG', 'image/PNG', 'image/png', 'image/x-png'); if(in_array($_FILES['plik']['type'][$i], $allowed)) {
$upload = true;
if($oldHeight<='600')
{
}
else
{
$skala = 600/$oldHeight;
$newWidth = round($oldWidth*$skala); $maly = ImageCreateTrueColor($newWidth, 600);
$duzy = ImageCreateFromJPEG($_FILES['plik']['tmp_name'][$i]);
ImageCopyResampled($maly,$duzy,0,0,0,0,$newWidth,600,$oldWidth,$oldHeight);
ImageJPEG($maly, 'img/'.$id.'_'.$nazwa.'.jpg', 100);
}
}
else
{
echo 'Plik "'.$_FILES['plik']['name'][$i].'" ma niewłaściwy format.<br>'; }
}
else
{
echo 'Plik "'.$_FILES['plik']['name'][$i].'" waży za dużo.<br>'; }
}
}
}
else
{
echo '<font style="color:red;font-weight:bold">Maksymalnie możesz dodać 5 zdjęć.</font><br><br>'; form2();
}
}
else
{
echo '<font style="color:red;font-weight:bold">Musisz dodać przynajmniej 1 zdjęcie.</font><br><br>'; form2();
}
}
else
{
echo '<font style="color:red;font-weight:bold">Podany adres e-mail jest niewłaściwego formatu.</font><br><br>'; form2();
}
}
else
{
echo '<font style="color:red;font-weight:bold">Podany nr telefonu zawiera niedozwolone znaki. <br>Dopuszczalne znaki to: liczby z zakresu 0-9, myślnik oraz nawias.</font><br><br>';
form2();
}
}
else
{
form2();
}
}
else
{
header("Location: index.php"); }
}
else
{
header("Location: index.php"); }
if($upload==true)
{
$a = $_SESSION["typ_nieruchomosci"]; $b = strtolower($_SESSION["typ_oferty"]); $p = " na "; $tytul = $a.$p.$b;
$dzien = date('d');$miesiac = date('n'); $miesiac_pl = array(1 => 'stycznia', 'lutego', 'marca', 'kwietnia', 'maja', 'czerwca', 'lipca', 'sierpnia', 'września', 'października', 'listopada', 'grudnia'); $data = $dzien." ".$miesiac_pl[$miesiac];
$opis = $_SESSION["opis"];
function protect($opis) //ochrona danych do bazy ddanych
{
{
}
$_SESSION["opis"] = strip_tags($_SESSION["opis"]); }
$opis2 = protect($opis);
mysql_query("INSERT INTO ogloszenia VALUES ($id, $_SESSION[user_id], '$tytul', '$_SESSION[miasto]', '$oferta', '$_SESSION[rynek]', '$_SESSION[typ_nieruchomosci]', '$_SESSION[rodzaj_ogloszenia]', $_SESSION[cena], '$_SESSION[metraz]', '$opis2', '$telefon', '$mail', '$data', 0)") or
die(mysql_error());
for($i=0; $i <= 5; $i++)
{
{
$zdjecie = $_FILES['plik']['tmp_name'][0];
$skala2 = 150/$oldWidth;
$newHeight = round($oldHeight*$skala2); $maly2 = ImageCreateTrueColor(150, $newHeight);
$duzy2 = ImageCreateFromJPEG($zdjecie);
ImageCopyResampled($maly2,$duzy2,0,0,0,0,150,$newHeight,$oldWidth,$oldHeight);
ImageJPEG($maly2, 'miniaturki/'.$id.'.jpg', 100);
}
}
echo '<a href="index.php?page=pokaz&id='.$id.'">Ogłoszenie zostało dodane</a>'; $_SESSION["ok"] = false;
}
?>