Napisałem taki skrypt do wysyłania plików do galerii. Po wysłaniu pliku przez formularz zamiast zapisać plik wyświetla ponownie formularz. Co jest w tym skrypcie złego?
<?php
ini_set('session.save.path', 'tmp/sesje'); require_once('theme/theme.php');
require_once('naglowek.php');
require_once('lewypanel.php');
require_once('config.php');
//istrukcje galerii
if (isset( $_SESSION['zalogowany'])) {
$maxsize=204800;
$tytul=$_POST["tytul"];
$opis=$_POST["opis"];
$akcja=$_POST["akcja"];
function formularz()
{
echo'<form action="'.$_SERVER['PHP_SELF'].'" enctype="multipart/form-data"> <input type="hidden" name="plik" value="dodaj">
<table width="100%" border="0" cellspacing="0">
<tr valign="middle">
<td width="40%"><b>Opis: </b></td>
<td width="60%"><input type="text" name="opis" size="40"></td>
</tr>
<td width="40%"><b>Wybierz plik: </b></td>
<td width="60%"><input type="file" name="zdjecie″ size"60"></td>
</tr>
<tr valign="middle" >
<td width="40%">
<input type="submit" value="Wyślij" /></td>
<td width="60"><b>Pogrubione pola są obowiązkowe!<input type="hidden" name="akcja" value="dodaj"></b></td>
</tr>
</table>
</form>';
}
if($_FILES['zdjecie']['size'] <= $maxsize){
if(move_uploaded_file($_FILES['zdjecie']['tmp_name'], "galeria/zdjecia/".$_FILES['zdjecie']['name'])){ // ustalanie unikalnej nazwy pliku
$sciezka = pathinfo($_FILES['zdjecie']['name']); $nazwa = date("Y-m-d-His", time()).".".$sciezka['extension']; // zmiana nazwy pliku
if(rename("galeria/zdjecia/".$_FILES['zdjecie']['name'], "galerie/".$nazwa)){ // kopiowanie pliku do katalogu z miniaturami
if(copy("galeria/zdjecia/".$nazwa, "galerie/thumbs/".$nazwa)){ // dostosowanie zdjęcia do optymalnego rozmiaru ( max 600 x 600 )
$wymiar = getimagesize("galeria/zdjecia/".$nazwa); // wymiary oryginalnego obrazka if($wymiar[0
] > $wymiar[1
]){ $wys_nor = round((600
*$wymiar[1
]/$wymiar[0
]), 0
); $szer_nor = 600; } if($wymiar[0
] < $wymiar[1
]){ $szer_nor = round((600
*$wymiar[0
]/$wymiar[1
]), 0
); $wys_nor = 600; } if($wymiar[0] == $wymiar[1]){ $wys_nor = 600; $szer_nor = 600; }
$normal = imagecreatetruecolor($szer_nor, $wys_nor);
$sourcen = imagecreatefromjpeg("galeria/zdjecia/".$nazwa);
imagecopyresized($normal, $sourcen, 0, 0, 0, 0, $szer_nor, $wys_nor, $wymiar[0], $wymiar[1]);
// dostosowywanie miniatury zdjęcia ( max 100 x 100 )
if($wymiar[0
] > $wymiar[1
]){ $wys_mini = round((100
*$wymiar[1
]/$wymiar[0
]), 0
); $szer_mini = 100; } if($wymiar[0
] < $wymiar[1
]){ $szer_mini = round((100
*$wymiar[0
]/$wymiar[1
]), 0
); $wys_mini = 100; } if($wymiar[0] == $wymiar[1]){ $wys_mini = 100; $szer_mini = 100; }
$mini = imagecreatetruecolor($szer_mini, $wys_mini);
$source = imagecreatefromjpeg("galeria/zdjecia/".$nazwa);
imagecopyresized($mini, $source, 0, 0, 0, 0, $szer_mini, $wys_mini, $wymiar[0], $wymiar[1]);
// tworzenie zdjęcia i miniatury
if(imagejpeg($normal, "galeria/zdjecia/".$nazwa, 100) && imagejpeg($mini, "galeria/thumbs/".$nazwa, 100)){
if(mysql_query("INSERT INTO galeria VALUES (null, '".$nazwa."', '".$_POST['opis']."')")){ chmod("galeria/zdjecia/".$nazwa, 0755);
chmod("galeria/thumbs/".$nazwa, 0755);
echo('Dane zdjęcia dodano do bazy danych'); }else { echo('Błąd zapisywania zdjęcia w bazie'); } echo('Miniatura i zdjęcie zoptymalizowane'); } else { echo('Błąd podczas optymalizacji zdjęć'); } echo('Zkopiowano miniaturę'); } else { echo('Błąd kopiowania miniatury'); } echo('Nazwa pliku: '.$nazwa); } else { echo('Błąd zmiany nazwy'); } echo('Zdjęcie przeniesione'); } else { echo('Błąd "move_uploaded_file"'); } echo('Dodaj kolejne zdjęcie'); } else { echo('Plik przekracza dozwolony maksymalny rozmiar'); }
}
else{formularz(); }
}
require_once('stopka.php');
?>