Kiedyś korzystałem z takiego skryptu. Jest tam trochę śmieci (coś niepotrzebnego dodawałem do bazy danych) - oblukaj i wyrzuć.
add_form_foto.php
<b>DODAJ ZDJECIE:
</b><br /> <br />
<form action="send.php" method="post" enctype="multipart/form-data" name="add_file"> <input name="plik" type="file" class="form_foto" size="50"/> <input name="max_file_size" type="hidden" value="1048576" /> <input value="Wyślij plik" type="submit" />
send.php
<?php
include('top.php');
$p_pojemnosc=$_FILES['plik']['size'];//pojemnosc pliku
$p_typ=$_FILES['plik']['type']; // typ pliku
$p_nazwa=$_FILES['plik']['name']; // nazwa pliku
$p_smiec=$_FILES['plik']['tmp_name']; // chwilowa nazwa pliku
//wycinamy rozszerzenie z pobieranego pliku
/* odbieramy dane z pola ukrytego i zaokrąglamy je do 3 miejsca
po przecinku/dzielimy przez 1204*1024 by było w MB*/
$max_size=round(($_POST['max_file_size']/1048576),3)."MB";
//zaokrąglamy "round" do 2 miejsc po przecinku i przeliczamy rozmiar pliku na MB
$poj_MB=round(($p_pojemnosc/1048576),2).'MB';
//kodujemy nasz plik metodą MD5 i dodajemy date i godzinę oraz rozszerzenie pliku
$p_nazwa_zm=($p_nazwa);
$folder="/admin/files/akt/";
if ($p_pojemnosc <= 0)
{
echo ("Plik jest pusty nie mogę go przesłać <b>".$k_cze.$p_nazwa." ".$poj_MB.$f_koniec."</b><br />"); }
if ($poj_MB > $max_size)
{
echo("Plik jest za duży maksymalnie można wysłać <b>".$k_cze.$max_size.$f_koniec."</b>"." .Plik wysyłany ma rozmiar <b><i>".$k_nieb.$poj_MB.$f_koniec."</b></i><br />"); }
{
echo ("Plik o takiej nazwie już istnieje <b><i>".$p_nazwa_zm."</b></i><br />"); }
else {
echo 'Nie mozna zachowac pliku. Prawdopodobnie nie ma folderu lub nie można w nim zapisać'; echo "<a href='download.php' target='middle'>Spróbuj ponownie...";
}else{
echo "Przeslanie udało się - <b>".$k_nieb.$p_nazwa."</b>"." ".$poj_MB."<br />"; $path_file=$folder.$p_nazwa_zm;
include_once('function.php');
$pol=polaczenie_pbd();
$y=1;
$sqqll="SELECT id_dane , rodzaj FROM tmp WHERE id_niepotrzebny='$y' ";
$przekaz=$rr['id_dane'];
$przekaz_2=$rr['rodzaj'];
}
if ($przekaz_2==2) {
echo 'dla tej opcji tekstu nie mozna dodac zdjecia! '; }else{
$zapytanie=mysql_query("insert into pliki values('$przekaz',NULL,'$p_pojemnosc','$path_file','$p_typ')"); ?> <font color="#3b6a0d" size="2"><b> plik został zapisany</b></font><?php
}
?>
<b>DODAJ KOLEJNE ZDJECIE:</b><br />
<form action="send_akt.php" method="post" enctype="multipart/form-data" name="add_file">
<input name="plik" type="file" class="form_foto" size="50"/>
<input name="max_file_size" type="hidden" value="1048576" />
<input value="Wyślij plik" type="submit" />
</form>
<iframe src="minimalizacja.php" frameborder="0" scrolling="no" name="" width="1" height="1">
</iframe>
<?php
}
}
include('bottom.php');
?>
minimalizacja.php
header('Content-type: image/jpeg');
include('top.php');
include_once('function.php');
include_once('foto.php');
$pol=polaczenie_pbd();
$y=1;
$sqqll="SELECT id_dane , rodzaj FROM tmp WHERE id_niepotrzebny='$y' ";
$przekaz=$rr['id_dane'];
$przekaz_2=$rr['rodzaj'];
}
$lqs="SELECT nazwa FROM pliki WHERE id_dane='$przekaz'";
$adres=$gat['nazwa'];
}
$szerokosc=70;
$obrazek=skaluj($adres, $szerokosc);
$lokalizacja_miniaturki= '/miniaturki' . $adres;
header('Content-type: image/jpeg'); imagejpeg($obrazek,$lokalizacja_miniaturki);
include('bottom.php');
foto.php
function skaluj($adres, $szerokosc)
{
// funkcja obsługuje również adresy internetowe jak http i ftp
$src = @imagecreatefromstring($pobierz);
if (!$pobierz or !$src ) return false;
$pic_width = imagesx($src);
$pic_height = imagesy($src);
if (($szerokosc == $pic_width) or ($szerokosc == null)) return $src;
$mini_width = $szerokosc;
$mini_height = round($szerokosc * ($pic_height/$pic_width)); $mini = imagecreatetruecolor($mini_width, $mini_height);
imagecopyresampled($mini, $src, 0, 0, 0, 0, $mini_width, $mini_height, $pic_width, $pic_height);
return $mini;
imagedestroy($mini);
}