Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Skrypt do przesyłania zdjęć na serwer
tadek92
post 18.02.2009, 11:14:20
Post #1





Grupa: Zarejestrowani
Postów: 108
Pomógł: 3
Dołączył: 26.07.2008

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


Witam!

Tworzę skrypt, który ma przesyłać zdjęcia na serwer. Skrypt, który stworzyłem składa się z dwóch plików:

index.php
Kod
<form enctype='multipart/form-data' method=post>
                     <input type='file' name='plik' size='50'>

                     <input type='submit' value='Wyślij'>
                 </form>
                 <?php
                     include('configuration.php');
                     $uploaddir = 'db/photo/';
                     $rozszerzenie = explode(".", $_FILES['plik']['name']);
                     for($count=0;$count<=count($dozwolone)-1;$count++)if($rozszerzenie[1]==$dozwolone[$count])$ok=1;
                     if($_FILES['plik']['size'] <= $max_size){
                     if($ok == 1){
                     if(move_uploaded_file($_FILES['plik']['tmp_name'], $uploaddir.$_FILES['plik']['name'])){
                     echo 'Zdjęcie zostało dodane:

';
                     echo '<img width="400" src="db/photo/'.$_FILES['plik']['name'].'">

';

                     }else{
                     echo 'Błąd podczas wysyłania pliku.';
                     }
                     }else{

                     }
                     }else{
                     echo 'Plik ma za duży rozmiar ('.$_FILES['plik']['size'].' bajtów)
';
                     echo 'Dozwolony rozmiar: '.$max_size.' bajtów.';
                     }
                     ?>


configuration.php
Kod
<?
$max_size = 5000000; //max.rozmiar w bajtach
$dozwolone = Array('png','jpg','jpeg','gif','bmp'); //dozwolone rozszerzenia
$rozszerzenia = "png, jpg , jpeg , gif , bmp ";
?>


Skrypt działa dobrze. Mam jednak jeden problem, a mianowicie, chciałbym, aby skrypt podczas przesyłania zdjęcia na serwer skalował zdjęcie, tak aby dłuższy bok miał 640px. Jeśli jest to nie możliwe, to, żeby skalował szerokość do 640px.

Z góry dziękuje za pomoc;)
Go to the top of the page
+Quote Post
Siela
post 18.02.2009, 11:18:18
Post #2





Grupa: Zarejestrowani
Postów: 27
Pomógł: 1
Dołączył: 28.02.2005
Skąd: Gdańsk

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


http://pl.php.net/gd
http://pl.php.net/manual/pl/book.imagick.php
Go to the top of the page
+Quote Post
nexis
post 18.02.2009, 11:24:56
Post #3





Grupa: Zarejestrowani
Postów: 1 012
Pomógł: 109
Dołączył: 26.09.2003
Skąd: nexis.pl

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


imagecopyresampled" title="Zobacz w manualu PHP" target="_manual

Cytat(http://pl.php.net/manual/en/function.imagecopyresampled.php)
  1. <?php
  2. // The file
  3. $filename = 'test.jpg';
  4.  
  5. // Set a maximum height and width
  6. $width = 200;
  7. $height = 200;
  8.  
  9. // Content type
  10. header('Content-type: image/jpeg');
  11.  
  12. // Get new dimensions
  13. list($width_orig, $height_orig) = getimagesize($filename);
  14.  
  15. $ratio_orig = $width_orig/$height_orig;
  16.  
  17. if ($width/$height > $ratio_orig) {
  18.   $width = $height*$ratio_orig;
  19. } else {
  20.   $height = $width/$ratio_orig;
  21. }
  22.  
  23. // Resample
  24. $image_p = imagecreatetruecolor($width, $height);
  25. $image = imagecreatefromjpeg($filename);
  26. imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
  27.  
  28. // Output
  29. imagejpeg($image_p, null, 100);
  30. ?>


Ten post edytował nexis 18.02.2009, 11:26:04


--------------------
Zend Certified Engineer

Kliknij POMÓGŁ jeśli moja odpowiedź okazała się użyteczna!
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 1.05.2025 - 06:14