Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Upload + generowanie miniaturki
sirostr
post
Post #1





Grupa: Zarejestrowani
Postów: 40
Pomógł: 1
Dołączył: 29.01.2008
Skąd: Wielkopolska

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


Czy istnieje może skrypt, który uploaduje obrazek i dodatkowo generuje jego miniaturkę i zapisuje ją na serwerze?

Tak jak na photobuckecie jest na przykład.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
deejay3
post
Post #2





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 24.03.2005

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


szukam juz jakis czas czegos podobnego, mianowicie generowanie miniatury to raz ale ponadto przycinania wysylanego zdjecia i zmiany "wagi" pliku.
dla przykladu:
chce wyslac foto z aparatu cyfrowego na serwer, no ale jak wiadomo srednio takie zdjecie bez oborobki ma po 3-4MB. nie dosc ze chce zmniejszyc jego wielokosc ale wyciac jeszcze z niego tylko interesujacy fragment (cos typu CROP photoshopa)

wiem, ze jest cos takiego, nawet kiedys widzoalem gotowy skrypt wspolpracujacy z MySQL ale nie bylo mi to potrzebne w danym momencie wiec nawet nie pamietam gdzie to widzialem.

jakby ktos pamietal, albo wpadl na to, gdzie takiego czegos szukac, bede bardzo wdzieczny, a za gotoca jeszcze wdzieczniejszy winksmiley.jpg

pozdrowionka

Ten post edytował deejay3 22.07.2008, 18:47:45
Go to the top of the page
+Quote Post
sirostr
post
Post #3





Grupa: Zarejestrowani
Postów: 40
Pomógł: 1
Dołączył: 29.01.2008
Skąd: Wielkopolska

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


Ok
Pogrzebałem trochę i zrobiłem skrypt uploadu z generowaniem miniaturki na serwerze
Potrzebny jest do tego ImageMagick (na home.pl jest)
Skrypt ten działa na home.pl
Nie wiem jak na innych
Skrypt jest umieszczony w katalogu /upload
w katalogu upload jest jeszcze podkatalog /pliki, który przechowuje zdjęcia
  1. <?php
  2. echo '<?xml version="1.0" encoding="iso-8859-2"?>';
  3. ?>
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-
  5. transitional.dtd">
  6. <html>
  7. <head>
  8. <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2" />
  9. <title>Upload zdjęć</title>
  10. </head>
  11. <h1>Upload zdjęć</h1>
  12. <body>
  13. <form enctype="multipart/form-data" action="index.php" method="POST">
  14. <input name="plik" type="file" />
  15. <input type="submit" value="Wyslij plik" />
  16. </form>
  17. <?php
  18. $plik_tmp = $_FILES['plik']['tmp_name'];
  19. $plik_nazwa = $_FILES['plik']['name'];
  20. $nazwa = explode('.',$plik_nazwa);
  21.  
  22. $plik_nazwa = $nazwa[0].'_'.time().'.'.$nazwa[1];
  23. $nazwa_mini = $nazwa[0].'_m_'.time().'.'.$nazwa[1];
  24.  
  25. echo $nazwa_mini;
  26.  
  27. $plik_rozmiar = $_FILES['plik']['size'];
  28.  
  29. if (!function_exists('mime_content_type'))
  30. {
  31.  function mime_content_type($file, $method = 0)
  32.  {
  33.  if ($method == 0)
  34.  {
  35.  ob_start();
  36.  system('/usr/bin/file -i -b ' . realpath($file));
  37.  $type = ob_get_clean();
  38.  
  39.  $parts = explode(';', $type);
  40.  
  41.  return trim($parts[0]);
  42.  }
  43.  else if ($method == 1)
  44.  {
  45.  // another method here
  46.  }
  47.  }
  48. }
  49.  
  50.  
  51.  
  52.  
  53. if(is_uploaded_file($plik_tmp))
  54. {
  55. $mime = mime_content_type($plik_tmp);
  56. if($mime == 'image/jpeg' OR $mime == 'image/png' OR $mime == 'image/gif')
  57. {
  58. move_uploaded_file($plik_tmp, "pliki/$plik_nazwa");
  59.  
  60. echo '<p>Adres do pliku<p>';
  61. echo '<textarea onclick="this.select()" rows="1" cols="75" readonly>http://aaa.pl/upload/pliki/'.$plik_nazwa.'</textarea>';
  62.  
  63. echo '<p>Adres do miniaturki</p>';
  64. echo '<textarea onclick="this.select()" rows="1" cols="75" readonly>http://aaa.pl/upload/pliki/'.$nazwa_mini.'</textarea>';
  65.  
  66. echo '<p>Kod HTML<p>';
  67. echo '<textarea onclick="this.select()" rows="1" cols="75" readonly><a href="/upload/pliki/'.$plik_nazwa.'">
  68. <img src="/upload/pliki/m'.$nazwa_mini.'" alt="" /></a></textarea>';
  69.  
  70. $komenda = 'convert /upload/pliki/'.$plik_nazwa.' -resize 450x170 /upload/pliki/'.$nazwa_mini;
  71. system($komenda);
  72. }
  73. else
  74. {
  75. echo '<h2>Zly format pliku</h2>';
  76. }
  77. }
  78. ?>
  79. </body>
  80. </html>


Ten post edytował sirostr 23.07.2008, 09:52:31
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 Aktualny czas: 19.08.2025 - 10:23