Witam, tworzę system newsów, który ma możliwość dodawania obrazków, zdjęc itp.
Wszystkie informacje o zdjęciach przechowywane są w tabeli upload_images, która składa się z pól:
id/pojemność/nazwa/typ
newsy przechowywyje w tabeli news, która ma następujące pola:
id/tytul/autor/tresc/obraz/data
Tutaj skrypt dodajacy dane do tabeli news, oraz upload_images:
<?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
$p_roz= array_pop(explode(".", $p_nazwa)); //wycinamy rozszerzenie z pobieranego pliku
$max_size=round(($_POST['max_file_size']/1048576),3)."MB"; //odbieramy dane z pola ukrytego i zaokrąglamy je do 3 miejsca po przecinku/dzielimy przez 1204*1024 by było w MB //
//zaokrąglamy "round" do 2 miejsc po przecinku i przeliczamy rozmiar pliku na MB
$poj_MB=round(($p_pojemnosc/1048576),2).'MB'; //zaokrąglamy "round" do 2 miejsc po przecinku i przeliczamy rozmiar pliku na MB
$p_nazwa_zm=(md5($p_nazwa)).".".$p_roz;//kodujemy nasz plik metodą MD5 i dodajemy date i godzinę oraz rozszerzenie pliku $folder="upload/";
if {
...}//tutaj sprawdza czy plik istnieje, nie ma za dużego rozmiaru itp
else {
exit('Nie mozna zachowac pliku. Prawdopodobnie nie ma folderu lub nie można w nim zapisać');
echo "Przeslanie udało się - <b>".$k_nieb.$p_nazwa."</b>"." ".$poj_MB."<br />"; $path_file=$folder.$p_nazwa_zm;
$conn = mysql_connect('sql.tktbet.nazwa.pl:3305', 'tktbet', 'barca3367') or
die('Error connecting to mysql'); $zapytanie=mysql_query("insert into upload_images values(NULL,'$p_pojemnosc','$path_file','$p_typ')");
$data = $_POST['data'];
$tytul = $_POST['tytul'];
$tresc = $_POST['tresc'];
$autor = $_POST['autor'];
$zapytanie2=mysql_query("insert into news values(NULL,'$tytul','$autor','$tresc','$p_nazwa_zm','$data')");
}
?>
Czy takie rozwiązanie jest dobre, oraz jak zrobić aby wgrany obraz posiadał miniaturkę?
Proszę o podpowiedź