Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]upload zdjęcia na serv.:sprawdzanie rozszerzenia,zmiana nazwy,tworzenie miniaturki,wstawianie do bazy danych,polskie znaki
maciejfig
post
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 8.06.2010

Ostrzeżenie: (0%)
-----


Witam,
próbuje zrobic skrypt który po wysłaniu pliku(zdjęcia) wykona następującą prace:
1.sprawdzi rozszerzenie pliku (w przypadku rozszerzenia innego niz graficzne wypluje blad).
2.zmieni nazwe pliku na bardziej przyjazną(w tym pozbawi ją polskich znaków)
3.tworzy miniaturke
4.wstawia do bazy danych link do zdjecia i miniaturki.
Mam 3 skrypty ,ktore wykonuja te zadanie ale nijak nie moge ich ze soba polaczyc. Pomoze ktos albo chociaż naprowadzi?Bede bardzo zobowiazany
  1. <?php
  2. $p_pojemnosc=$_FILES['plik']['size'];//pojemnosc pliku
  3. $p_typ=$_FILES['plik']['type']; // typ pliku
  4. $p_nazwa=$_FILES['plik']['name']; // nazwa pliku
  5. $p_smiec=$_FILES['plik']['tmp_name']; // chwilowa nazwa pliku
  6.  
  7. //wycinamy rozszerzenie z pobieranego pliku
  8. $p_roz= array_pop(explode(".", $p_nazwa));
  9.  
  10. /* odbieramy dane z pola ukrytego i zaokrąglamy je do 3 miejsca
  11.   po przecinku/dzielimy przez 1204*1024 by było w MB*/
  12. $max_size=round(($_POST['max_file_size']/1048576),3)."MB";
  13.  
  14.  
  15. //zaokrąglamy "round" do 2 miejsc po przecinku i przeliczamy rozmiar pliku na MB
  16. $poj_MB=round(($p_pojemnosc/1048576),2).'MB';
  17.  
  18. //kodujemy nasz plik metodą MD5 i dodajemy date i godzinę oraz rozszerzenie pliku
  19. $p_nazwa_zm=(md5($p_nazwa)).".".$p_roz;
  20. $folder="jail/";
  21.  
  22. //---Kolorki HTML---
  23. $k_cze="<font color=#ff0000>";
  24. $f_koniec="</font>";
  25. $k_nieb="<font color=#0000ff>";
  26.  
  27. if ($p_pojemnosc <= 0)
  28. {
  29. echo ("Plik jest pusty nie mogę go przesłać <b>".$k_cze.$p_nazwa." ".$poj_MB.$f_koniec."</b><br />");
  30. echo "<a href=index.php>Wracaj ...</a>";
  31. }
  32.  
  33. if ($poj_MB > $max_size)
  34. {
  35. 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 />");
  36. echo "<a href=index.php>Wracaj ...";
  37. }
  38.  
  39. if (file_exists($folder.$p_nazwa_zm))
  40. {
  41. echo ("Plik o takiej nazwie jest już na serwerku <b><i>".$p_nazwa_zm."</b></i><br />");
  42. echo "<a href=index.php>Wracaj ...";
  43. }
  44.  
  45. else {
  46. if(!@move_uploaded_file($p_smiec, $folder.$p_nazwa_zm))
  47. exit('Nie mozna zachowac pliku. Prawdopodobnie nie ma folderu lub nie można w nim zapisać');
  48.  
  49. echo "Przeslanie udało się - <b>".$k_nieb.$p_nazwa."</b>"." ".$poj_MB."<br />";
  50. $path_file=$folder.$p_nazwa_zm;
  51. $conn = mysql_connect('localhost', 'root', 'krasnal') or die('Error connecting to mysql');
  52. mysql_select_db('krasnal');
  53. $zapytanie=mysql_query("insert into nazwa_tabeli values(NULL,'$p_pojemnosc','$path_file','$p_typ')");
  54. echo "<a href=index.php>Wracaj ...";
  55. }
  56. ?>

  1. <?php
  2. $sp = explode(".",$plik_nazwa);
  3. $count_sp = count($sp) - 1;
  4.  
  5. // sprawdzamy rozszerzenie
  6. if($sp[$count_sp] == "gif" or $sp[$count_sp] == "jpg") {
  7. echo "Plik poprawny";
  8. // zamiast tego napisu wstaw kod,
  9. // ktory zapisuje plik na serwer
  10. }
  11. else {
  12. echo "Plik niepoprawny";
  13. }
  14.  
  15. ?>

  1. <?php
  2. $img = imagecreatefromjpeg("jail/photo/normal/gal1/19.jpg");
  3. $width = imagesx($img);
  4. $height = imagesy($img);
  5. $proporcja = $width / $height;
  6. $width_mini = $width * 0.02;
  7. $height_mini = $height * 0.02;
  8.  
  9. if($proporcja>=1.5){
  10. $width_mini = 120;
  11. $height_mini = 120 / $proporcja;
  12. }else{
  13. $width_mini = 80 * $proporcja;
  14. $height_mini = 80;
  15. }
  16.  
  17.  
  18. $img_mini = imagecreatetruecolor($width_mini, $height_mini);
  19. imagecopyresampled($img_mini, $img, 0, 0, 0, 0, $width_mini , $height_mini, $width , $height);
  20.  
  21. imagejpeg($img_mini, "jail/photo/test/19a.jpg", 60);
  22. imagedestroy($img);
  23. imagedestroy($img_mini);
  24. ?>


pozdrawiam
Maciek
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 21:03