Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Skrypt skalowania zdjęć
krzychu0808
post
Post #1





Grupa: Zarejestrowani
Postów: 428
Pomógł: 2
Dołączył: 1.04.2007
Skąd: Pogorzelica

Ostrzeżenie: (10%)
X----


Witam szukam dobrego skryptu do skalowania zdjęć...
chodzi mi o skalowanie dla sygnaturek w profilu... że użytkownik będzie dawał większe zdjęci niż jest ustawione jakie może być na max to jest ono skalowane do podanej wartości....

Ten post edytował krzychu0808 9.08.2008, 10:57:43
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
sirostr
post
Post #2





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

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


To tego potrzebny jest ImageMagick

Ja w swoim skrypcie Uploadu skaluję to tak:
  1. <?php
  2. system('convert obrazek_duzy.jpg -resize 300x100 obrazek_maly.jpg');
  3. ?>


Czyli gdy mam na serwerze plik obrazek_duzy.jpg, to po wykonaniu takiego kodu w tym samym katalogu pojawi się plik obrazek_maly.jpg o rozmiarach 300x100 pikseli

Ten post edytował sirostr 9.08.2008, 11:38:58
Go to the top of the page
+Quote Post
krzychu0808
post
Post #3





Grupa: Zarejestrowani
Postów: 428
Pomógł: 2
Dołączył: 1.04.2007
Skąd: Pogorzelica

Ostrzeżenie: (10%)
X----


można skróconą instrukcje obsługi bo tutaj widzę że trzeba jeszcze napisać upload pliku chyba....
Go to the top of the page
+Quote Post
sirostr
post
Post #4





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

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


Tutaj masz gotowy skrypt uploadu:
  1. <!DOCTYPE html
  2. PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  3. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  4. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  5. <head>
  6. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  7. <title>Upload</title>
  8. <style type="text/css">
  9. * {font-family: verdana;}
  10. .info td {padding: 5px; border: 1px #000 solid}
  11. tr td {font-weight: bold; width: 200px;}
  12. </style>
  13. </head>
  14. <h1>Upload</h1>
  15. <body>
  16. <form enctype="multipart/form-data" action="<?=$_SERVER['PHP_SELF']?>" method="post">
  17. <input name="plik" type="file" />
  18. <input type="submit" value="Wyślij plik" />
  19. </form>
  20. <?php
  21. //CONFIG
  22. $size = '300x150'; //rozmiar jaki mają mieć miniaturki
  23. $path = '/upload/pliki/'; //ścieżka do katalogu z obrazkami
  24.  
  25. $plik['przed'] = $_FILES['plik']['name'];
  26.  
  27. $plik['tmp'] = $_FILES['plik']['tmp_name'];
  28. $nazwa = explode('.',$_FILES['plik']['name']);
  29. $plik['full'] = $nazwa[0].'_'.time().'.'.$nazwa[1];
  30. $plik['mini'] = $nazwa[0].'_m_'.time().'.'.$nazwa[1];
  31. $plik['rozmiar'] = round($_FILES['plik']['size']/1024);
  32. $plik['mime'] = $_FILES['plik']['type'];
  33.  
  34. if(is_uploaded_file($plik['tmp'])) 
  35. {
  36. if($plik['mime'] == 'image/jpeg' OR $plik['mime'] == 'image/png' OR $plik['mime'] == 'image/gif')
  37. {
  38. move_uploaded_file($plik['tmp'], $path.$plik['full']);
  39. system('convert '.$path.$plik['full'].' -resize '.$size.' '.$path.$plik['mini']);
  40.  
  41. $link['full'] = 'http://'.$_SERVER['SERVER_NAME'].$path.$plik['full'];
  42. $link['mini'] = 'http://'.$_SERVER['SERVER_NAME'].$path.$plik['mini'];
  43. $link['html'] = htmlspecialchars('<a href="'.$link['full'].'"><img src="'.$link['mini'].'" alt="" /></a>');
  44. $link['phpbb'] = '[img]'.$link['mini'].'[/img]';
  45.  
  46. ?>
  47. <table class="info">
  48. <tr>
  49. <td>Nazwa pliku</td>
  50. <td><?=$plik['przed']?></td>
  51. </tr>
  52.  
  53. <tr>
  54. <td>Rozmiar pliku</td>
  55. <td><?=$plik['rozmiar']?> KB</td>
  56. </tr>
  57.  
  58. <tr>
  59. <td>Typ MIME pliku</td>
  60. <td><?=$plik['mime']?></td>
  61. </tr>
  62.  
  63. <tr>
  64. <td>Podgląd</td>
  65. <td><a href="<?=$link['full']?>"><img src="<?=$link['mini']?>" alt=""/></a></td>
  66. </tr>
  67.  
  68. <tr>
  69. <td>Link</td>
  70. <td><input type="text" value="<?=$link['full']?>" onclick="this.select()" /></td>
  71. </tr>
  72.  
  73. <tr>
  74. <td>Kod HTML</td>
  75. <td><input type="text" value="<?=$link['html']?>" onclick="this.select()"/></td>
  76. </tr>
  77.  
  78. <tr>
  79. <td>Kod phpBB</td>
  80. <td><input type="text" value="<?=$link['phpbb']?>" onclick="this.select()"/></td>
  81. </tr>
  82.  
  83. </table>
  84. <?php
  85. }
  86. else 
  87. {
  88. echo $plik['mime'].' nie jest dozwolonym typem.';
  89. }
  90. }
  91. ?>
  92. </body>
  93. </html>


Ten post edytował sirostr 9.08.2008, 11:46:20
Go to the top of the page
+Quote Post
krzychu0808
post
Post #5





Grupa: Zarejestrowani
Postów: 428
Pomógł: 2
Dołączył: 1.04.2007
Skąd: Pogorzelica

Ostrzeżenie: (10%)
X----


Coś ten skrypcik nie działa.... stworzyłem foldery /upload/pliki i wybieram zdjęcie ładuje i po chwili przestaje i nic się nie dzieje... wchodze na serwer nie ma pliku ani nic... nie ma żadnej tabeli informacje itp.. sam input do wyboru ścieżki przegląd i wyślij nic więcej i nagłówek Upload smile.gif

Ten post edytował krzychu0808 9.08.2008, 12:41:30
Go to the top of the page
+Quote Post
sirostr
post
Post #6





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

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


Może nie działać, bo może nie masz ImageMagicka. mi działa

Ten post edytował sirostr 9.08.2008, 13:26:45
Go to the top of the page
+Quote Post
shazarre
post
Post #7





Grupa: Zarejestrowani
Postów: 8
Pomógł: 1
Dołączył: 9.08.2008

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


phpthumb.sourceforge.net

Proponuję zapoznać się z tą biblioteką.

Ten post edytował shazarre 9.08.2008, 14:14:52
Go to the top of the page
+Quote Post
krzychu0808
post
Post #8





Grupa: Zarejestrowani
Postów: 428
Pomógł: 2
Dołączył: 1.04.2007
Skąd: Pogorzelica

Ostrzeżenie: (10%)
X----


Na dydku mam coś takiego "the GD library to create thumbnails from images(gd v. 2)" o to chodzi questionmark.gifquestionmark.gif

Ten post edytował krzychu0808 9.08.2008, 15:47:34
Go to the top of the page
+Quote Post
Riklaunim
post
Post #9





Grupa: Zarejestrowani
Postów: 640
Pomógł: 44
Dołączył: 8.02.2004

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


W PHP można "natywnie" tworzyć miniatury w GD, które jest praktycznie wszędzie (google da ci prosty kod tworzenia miniatury). ImageMagick ma rozszerzenie do PHP, ale nie jest stosowany często. Systemowo można generować miniatury przez różne narzędzia - ale odpowiednie funkcje muszą być włączone winksmiley.jpg Nie jest to najlepsze rozwiązanie pod kątem bezpieczeństwa.


Kod
system('convert obrazek_duzy.jpg -resize 300x100 obrazek_maly.jpg');

Nie przeczytałeś strony 587009 manuala smile.gif powinieneś stosować -size 300x100 -thumbnail 300x100 żeby to robiło miniatury opuszczając exify i inne śmieci, a także tak by nie wczytywało całej grafiki, a jedynie część potrzebną do stworzenia miniatury smile.gif jest to znacząco szybsze od resize smile.gif a grafiki też mogą mieć mniejszy rozmiar.


--------------------
Biblioteki: Skrypty, CMS | Kurs PHP | Python
Go to the top of the page
+Quote Post
krzychu0808
post
Post #10





Grupa: Zarejestrowani
Postów: 428
Pomógł: 2
Dołączył: 1.04.2007
Skąd: Pogorzelica

Ostrzeżenie: (10%)
X----


czyli w jaki sposób mając gd mogę zorbić miniaturkę...
Go to the top of the page
+Quote Post
Riklaunim
post
Post #11





Grupa: Zarejestrowani
Postów: 640
Pomógł: 44
Dołączył: 8.02.2004

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


http://www.google.com/search?q=gd+php+crea...-8&oe=UTF-8


--------------------
Biblioteki: Skrypty, CMS | Kurs PHP | Python
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: 21.08.2025 - 23:12