Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Pomoc przy galeri php/mysql, problem z skryptem
MrDove
post 23.03.2012, 19:44:28
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 23.03.2012

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


Kod
$zapytanie="SELECT * FROM foty where login='$login'";
$wynik = $lacz->query($zapytanie);
while($dane = $wynik -> fetch_assoc()){
$id_zdj=$dane['id_zdj'];
$plik=$dane['plik'];
$koment_zdj=$dane['koment_zdj'];
$calosc=$dane['calosc'];
set_time_limit(10);

$katalog ='graf/'.$calosc;
echo"$katalog";
if (!$katalog) die ('Wystąpił bład podczas otwierania folderu');
$roz_graficzne = array('.jpg', '.jpeg', '.gif', '.bmp');
while($pliki = $katalog)
{
  if ($pliki != '.' && $pliki != '..')
  {
    $rozszerzenie = strtolower(strrchr($pliki, "."));
    if(in_array($rozszerzenie, $roz_graficzne))
    $lista[] = $pliki;
  }
}

$id = $_GET['id'];

if (!$id) $id=0;
if ($id < 0 )
    $id = count($lista)-1;
if ($id >= count($lista))
    $id = 0;


echo '<P ALIGN="CENTER">'.$lista[$id].'</P><br /><br />';
if ($lista[$id])
    echo '<P ALIGN="CENTER"><a href="index.php?id='.($id+1).'"><img src="images/'.$lista[$id].'"WIDTH="600" HEIGHT="480"></a></P><br/>';
}


skrypt działa gdy pobiera obrazki bezpośrednio z katalogu, z bazy już nie chce. Może mi ktoś powiedzieć gdzie robię błąd ?

komunikat który się pokazuje to:
echo"$katalog";
Cytat
graf/27041322000


Kod
Fatal error: Maximum execution time of 10 seconds exceeded in D:\WebServ\httpd-users\new\galeria.php on line 87

linia 87:
if ($pliki != '.' && $pliki != '..')
Go to the top of the page
+Quote Post
nospor
post 23.03.2012, 19:56:20
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Co wg ciebie robi ta linijka
while($pliki = $katalog)
?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
MrDove
post 23.03.2012, 20:38:36
Post #3





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 23.03.2012

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


pętla z warunkiem przypisania do $pliki ścieżki do pliku
Go to the top of the page
+Quote Post
nospor
post 23.03.2012, 20:50:31
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




No dobrze.... a co wg. ciebie robi warunek $pliki = $katalog ? Zastanów się dobrze zanim odpowiesz. Naprawdę nie zadaje tego pytania bo ja nie wiem, ale zadaję to pytanie bo ty nie wiesz wink.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
MrDove
post 23.03.2012, 20:57:23
Post #5





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 23.03.2012

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


tyle ile plików będzie w katalogu tyle razy wykona się instrukcja ?
Go to the top of the page
+Quote Post
nospor
post 23.03.2012, 21:18:19
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




No ale przecież $katalog się nie zmienia.... pętla while więc krąży w nieskonczonosc. Naprawde tego nie widzisz??

A jesli chciales czytac katalog, czyli pliki z niego, to przecież ma być readdir itp.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
MrDove
post 28.03.2012, 11:09:15
Post #7





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 23.03.2012

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


coś takiego ?
Kod
$katalog =opendir('graf/');
echo"$katalog";
}
if (!$katalog) die ('Wystąpił bład podczas otwierania folderu');
$roz_graficzne = array('.jpg', '.jpeg', '.gif', '.bmp');
while(($pliki = readdir($katalog)) !== false)




teraz testując tą galerie zauważyłem problem... z folderu pobierane są wszystkie foty, a ja chce tylko widzieć foty zalogowanego użytkownika..

jak dodać do tego zmienna $calosc, żeby nie wyskakiwały warningi..?
Kod
$katalog =opendir('graf/');


pomoże ktoś ?

Ten post edytował MrDove 24.03.2012, 10:45:45
Go to the top of the page
+Quote Post
nospor
post 28.03.2012, 11:20:15
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




normalnie:
opendir('graf/'.$calosc);
A jesli nadal ci bledy wyskakują to albo coś jest nie tak z $calosc albo z katalogiem graf/$calosc. Sprawdź.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
MrDove
post 30.03.2012, 10:50:44
Post #9





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 23.03.2012

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


jak wpisze tak
Kod
echo'<img src="graf/'.$calosc.'"WIDTH="600" HEIGHT="480">';

to zdjecia sie wyswietlaja.

a jak jest tak:
Kod
$katalog =opendir('graf/'.$calosc);
}
if (!$katalog) die ('Wystąpił bład podczas otwierania folderu');
$roz_graficzne = array('.jpg', '.jpeg', '.gif', '.bmp');
while(($pliki = readdir($katalog)) !== false)
{
  if ($pliki != '.' && $pliki != '..')
  {
    $rozszerzenie = strtolower(strrchr($pliki, "."));
    if(in_array($rozszerzenie, $roz_graficzne))
    $lista[] = $pliki;
  }
}

$id = $_GET['id'];

if (!$id) $id=0;
if ($id < 0 )
    $id = count($lista)-1;
if ($id >= count($lista))
    $id = 0;


echo '<P ALIGN="CENTER">'.$lista[$id].'</P><br /><br />';
if ($lista[$id])
    echo '<P ALIGN="CENTER"><a href="index.php?id='.($id+1).'"><img src="graf/'.$lista[$id].'"WIDTH="600" HEIGHT="480"></a></P><br/>';


to wyskakuje cos takiego:
Cytat
Warning: opendir(graf/34755211000) [function.opendir]: failed to open dir: No error in C:\Program Files\WebServ\httpd-users\new\galeria.php on line 81

Warning: opendir(graf/30262320000) [function.opendir]: failed to open dir: No error in C:\Program Files\WebServ\httpd-users\new\galeria.php on line 81

Warning: opendir(graf/21465020000) [function.opendir]: failed to open dir: No error in C:\Program Files\WebServ\httpd-users\new\galeria.php on line 81

Warning: opendir(graf/92735310100) [function.opendir]: failed to open dir: No error in C:\Program Files\WebServ\httpd-users\new\galeria.php on line 81
Wystąpił bład podczas otwierania folderu
Go to the top of the page
+Quote Post
nospor
post 30.03.2012, 10:53:53
Post #10





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




No ale myśl troche.... skoro graf/'.$calosc jest zdjęciem to jakim cudem ty chcesz na tym wykonać operację opendir? opendir operuje na katalogach a nie na plikach.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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: 14.08.2025 - 15:26