Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [GD] tworzenie miniatur
kobylecki
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 7.05.2009

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


Witam, potrzebuję napisać skrypt, który stworzy mi miniaturki zdjęć z danego katalogu. Skrypt napisałem (być może źle) i nie robi tego co ma robić. Nie pracowałem dotychczas z biblioteką GD, więc proszę o pomoc. Na forum wyszukiwałem postów o podobnej treści jednak nikt nie miał takiego problemu.
Skrypt zamknąłem w funkcji, która wykonując się rzuca wieloma Warningami. Oto przykładowy:

Warning: imagecreatefromjpeg(Resource id #3z8.jpg) [function.imagecreatefromjpeg]: failed to open stream: No such file or directory ...

A to moja funkcja:

function create_gallery($katalog)
{
if (!extension_loaded('gd'))
if (!dl('gd.so'))
echo "Nie mogę odnaleźć bibioteki GD!";

if (is_dir($katalog))
{
$cat = opendir($katalog);
while (false !== ($file = readdir($cat)))
{
if (ereg('.jpg ,$file))
{
$img = imagecreatefromjpeg($cat.$file);
$dlu = imagesx($img);
$wys = imagesy($img);
if ($dlu < $wys)
{
$w = 130;
$d = ($w*$dlu)/$wys;
}
else
{
$d = 130;
$w = ($d*$wys)/$dlu ;
}
$img_mini = imagecreatetruecolor($d,$w);
imagecopyresampled($img_mini, $img, 0, 0, 0, 0, $d, $w, $dlu, $wys);
imagejpeg($img_mini, $cat.'mini/'.$file, 80);
imagedestroy($img);
imagedestroy($img_mini);
}
}
closedir($cat);
return 'No dobra!';
}
else
{ return 'Klopot z katalogiem'; }
}

Ten post edytował kobylecki 7.05.2009, 10:32:47
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
okitoki
post
Post #2





Grupa: Zarejestrowani
Postów: 214
Pomógł: 18
Dołączył: 25.04.2009

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


masz prawo do zapisu w tym katalogu questionmark.gif

tzn nie masz praw zapisu exclamation.gif lub katalog nie istnieje


--------------------
Go to the top of the page
+Quote Post
kobylecki
post
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 7.05.2009

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


Mam wszystkie prawa (i nie tylko ja). Istnieje też katalog który podaję do funkcji (podaję ścieżkę względną ze slashem na końcu).
Istnieją też pliki w nim o rozszerzeniu .jpg. Istnieje także katalog mini, w któym chcę zapisywać miniaturki. Wszystko ma wszystkie uprawnienia.
Pewnie coś w funkcji jest nie tak - proszę, przeanalizujcie ją (może do tego katalogu mini trzeba jakoś wejść)?

W podanym przykładzie Warninga istnieje plik z8.jpg w katalogu podanym jako parametr. Nie wiem dlaczego jest tam ten prefiks #3.

Ten post edytował kobylecki 7.05.2009, 10:43:11
Go to the top of the page
+Quote Post
wookieb
post
Post #4





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




A co pisze?
Resource id #3

no i tutaj latwo sie domyslic ze zamiast $cat masz dac $katalog.


--------------------
Go to the top of the page
+Quote Post
kobylecki
post
Post #5





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 7.05.2009

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


Prawdziwie czeski błąd. Dzięki!
Go to the top of the page
+Quote Post
Spawnm
post
Post #6





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




  1. <?php
  2. $cat = opendir($katalog);
  3. while (false !== ($file = readdir($cat)))
  4. {
  5. if (ereg(.jpg ,$file))
  6. {
  7. $img = imagecreatefromjpeg($cat.$file);
  8. ?>

$cat to nie nazwa folderu tylko wskaźnik, jest chyba różnica , w ereg nie domknąłeś ' ale to nie jest powodem obecnego błędu
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: 22.08.2025 - 04:59