Mam skrypt, który najpierw robi upload pliku, a później zmniejsza go i nadpisuje. Coś niestety nie działa:
<?php
// ------- ładowanie pliku pliku
if ($_FILES['fota']['type'] =='image/jpeg' || $_FILES['fota']['type'] == "image/png")
{
$nazwa_pliku = "zdjecia/" . $_FILES['fota']['name'] ;
$rozmiar = $_FILES['fota']['size'] / 1024;
// skrypt kopiujący plik na serwer
{
{
// -------------------definicja funkcji do zmiany rozmiaru pliku
function image_resize($docelowy, $stary_plik, $max_x, $max_y)
{
//funkcja zmniejsza zdjęcie proporcjonalnie, a oto parametry
//$docelowy - ścieżka docelowego pliku
//$stary_plik - ścieżka pliku źródłowego
//$max_x - maksymalna szerokość zdjęcia
//$max_y - maksymalna wysokość zdjęcia
if($_FILES['fota']['type'] =='image/jpeg' )
{
$plik=imagecreatefromjpeg($stary_plik);
}
elseif($_FILES['fota']['type'] == "image/png")
{
$plik=imagecreatefrompng($stary_plik);
}
else
{
die('Zly typ pliku, akceptowalne typy to: JPG/JPEG, PNG'); }
$stary_x=imagesx($plik);
$stary_y=imagesy($plik);
if($stary_x>$stary_y)
{
$proporcje=$max_x / $stary_x;
}
else
{
$proporcje=$max_y / $stary_y;
}
if($proporcje<1)
{
$nowy_x=$stary_x * $proporcje;
$nowy_y=$stary_y * $proporcje;
$nowy_plik= imagecreatetruecolor($nowy_x, $nowy_y);
imagecopyresampled($nowy_plik, $plik, 0, 0, 0, 0, $nowy_x, $nowy_y, $stary_x, $stary_y);
}
if($_FILES['fota']['type'] =='image/jpeg' )
imagejpeg($nowy_plik, $docelowy, 96);
else
imagejpeg($stary_plik, $docelowy, 96);
}//koniec funkcji image_resize
$docelowy="zdjecia/" . $_FILES['fota']['name'];
image_resize($docelowy, $nazwa_pliku, 700, 700);
echo '<h3>Plik został załadowany!</h3><br />'; }
else
echo 'Upload pliku nie powiódł się!'; }
else
{
echo 'Wystąpił błąd podczas wysyłania pliku na serwer!n'; echo 'Proszę sprawdzić, czy plik nie przekracza rozmiaru 1MB'; }
}
else
echo "Wybrany plik ma niepoprawne rozszerzenie. Dodać można tylko obrazy typu jpg/jpeg i png<br>"; echo $nowy_x . " x " . $nowy_y; ?>
ostatnia linijka służyła do sprawdzenia jakie są wartości nowych rozmiarów pliku. Niestety wygląda na to, że te zmienne nie mają żadnych wartości, bo nic się nie wyświetla.
Dodam, nie wyświetla się żaden błąd. Skrypt przechodzi bez problemu, ale plik na serwerze się nie pojawia