PDA

View Full Version : PHP...come fare?


Manson666
18-07-2003, 18:34
Sto cercando di realizzae una galleria delle immagini in PHP e non so come fare l'ultima parte perchè mi si blocca...probabilmente sbaglio l'uso del foreach...

<?
$dir = "C:\Programmi\EasyPHP\www\img\friedrich";
$files = array();
$open = opendir($dir);
while ($file = readdir($open)) { if ($file != "." && $file != "..") { $files[] = $file; } }
closedir($open);
sort($files);
reset($files);

foreach ($files as $value) {
<img border="0" src="$value" width="552" height="355">
<br>
}

?>

Per il momento dovrebbe mettere solo le immagini contenute nella directory una sotto l'altra...

Thana85
18-07-2003, 19:44
Originariamente inviato da Manson666
Sto cercando di realizzae una galleria delle immagini in PHP e non so come fare l'ultima parte perchè mi si blocca...probabilmente sbaglio l'uso del foreach...

<?
$dir = "C:\Programmi\EasyPHP\www\img\friedrich";
$files = array();
$open = opendir($dir);
while ($file = readdir($open)) { if ($file != "." && $file != "..") { $files[] = $file; } }
closedir($open);
sort($files);
reset($files);

foreach ($files as $value) {
<img border="0" src="$value" width="552" height="355">
<br>
}

?>

Per il momento dovrebbe mettere solo le immagini contenute nella directory una sotto l'altra...


è tutot giusto imho ma penso tu debba aggiungere il tag iniziale /body skin colore=5
:)

Manson666
19-07-2003, 00:43
ops...che idiota che sono :-P ....

Manson666
19-07-2003, 00:50
Intendevi semplicemente così?

<html>
<head><title>Script galleria delle immagini</title></head>
<body>
<?
$dir = " C:\Programmi\EasyPHP\www\img\friedr
ich";
$files = array();
$open = opendir($dir);
while ($file = readdir($open)) { if ($file != "." && $file != "..") { $files[] = $file; } }
closedir($open);
sort($files);
reset($files);

foreach ($files as $value) {
<img border="0" src="$value" width="552" height="355">
<br>
}
?>
</body>
</html>

Mi da ancora errore precisamente dice:
Parse error: parse error, unexpected '<' in c:\programmi\easyphp\www\img\prova.php on line 15

Cosa può essere?

igorlazunna
19-07-2003, 09:32
Originariamente inviato da Manson666
Intendevi semplicemente così?

<html>
<head><title>Script galleria delle immagini</title></head>
<body>
<?
$dir = " C:\Programmi\EasyPHP\www\img\friedrich";
$files = array();
$open = opendir($dir);
while ($file = readdir($open)) { if ($file != "." && $file != "..") { $files[] = $file; } }
closedir($open);
sort($files);
reset($files);

foreach ($files as $value) {
<img border="0" src="$value" width="552" height="355">
<br>
}
?>
</body>
</html>

Mi da ancora errore precisamente dice:
Parse error: parse error, unexpected '<' in c:\programmi\easyphp\www\img\prova.php on line 15

Cosa può essere?

Riga 15:
dentro il codice PHP non puoi iniziare a scrivire codice html così.
O chiudi i tag php e immetti il codice, oppure ci piazzi davanti un bel echo!!!




foreach ($files as $value) {
echo "<img border=\"0\" src=\"$value\" width=\"552\" height=\"355\"><br>";
}


per esempio.
Ciao

Manson666
19-07-2003, 10:04
ORa sembra quasi funzionare...l'unico problema è che le immagini (delle .jpg) non vengono visualizzate, da solo i riquadri dove dovrebbero essere visualizzate...perchè?

igorlazunna
19-07-2003, 12:54
Originariamente inviato da Manson666
ORa sembra quasi funzionare...l'unico problema è che le immagini (delle .jpg) non vengono visualizzate, da solo i riquadri dove dovrebbero essere visualizzate...perchè?
il tuo codice, a riga 15 presume che lo script si trovi esattamente nella stessa directory in cui ci sono le immagini.

Quindi, o metti lo script nella stessa directory delle immagini, oppure usi un path relativo per raggiungere le immagini nel web server.

Per esempio, ecco la struttura della tuo web server:

file1.html
file2.html
...
...
images/ <--- directory
script/ <---- directory

dentro images le tue jpeg, e dentro script il tuo codice php.

Allora il tuo script dovrà avere questa forma:


<html>
<head><title>Script galleria delle immagini</title></head>
<body>
<?
$dir = "../images/";
$files = array();
$open = opendir($dir);
while ($file = readdir($open)) { if ($file != "." && $file != "..") { $files[] = $file; } }
closedir($open);
sort($files);
reset($files);

foreach ($files as $value) {
echo "<img border=\"0\" src=\"$dir$value\" width=\"552\" height=\"355\"> <br> ";
}
?>
</body>
</html>

Manson666
21-07-2003, 19:45
Ho fatto così però non va ancora mi sa che ciè qualche problema nella sintassi di: echo "<img border=\"0\" src=\"$dir$value\" width=\"552\"
Mi sembra strano che le due variabili delle dir siano messe insieme così

<html>
<head><title>Script galleria delle immagini</title></head>
<body>
<?
$dir = "../friedrich/";
$files = array();
$open = opendir($dir);
while ($file = readdir($open)) { if ($file != "." && $file != "..") { $files[] = $file; } }
closedir($open);
sort($files);
reset($files);

foreach ($files as $value) {
echo "<img border=\"0\" src=\"$dir$value\" width=\"552\" height=\"355\"> <br> ";
}
?>
</body>
</html>

igorlazunna
23-07-2003, 16:42
non sparei, a me funziona.
che errore ti da?