Newsgroup: it.comp.www.php
Titolo: esplorazione directory...

sto muoveno i primi passi con il PHP e sto provando a fare una galleria di immagini
con relative miniature. sono alla primissima fase ed ho buttato gů questo codice:
[quote]
<?php
$app_name = 'Galleria di Immagini';
$app_ver = '0.1';
$cfg_pics_path = 'pics';
$cfg_thumbs_path = 'thumbs';
if(@is_null($gal)){
	$gal="";
}
$categorie = array();
$immagini = array();
if ($dir = @opendir($cfg_pics_path."/")) {
  while (($file = readdir($dir)) !== false) { 
    if ($file != '.' && $file != '..' && !is_file($cfg_pics_path."/".$file) &&
!is_link($cfg_pics_path."/".$file)) {
	  $categorie[] = $file;
	}
  }  
  closedir($dir);
}
if($gal != "") {
	if ($dir = @opendir($cfg_pics_path."/".$categorie[$gal]."/")) {
		while (($file = readdir($dir)) !== false) { 
			if ($file != '.' && $file != '..' && is_file($cfg_pics_path."/".$file) && !is_link($cfg_pics_path."/".$file))
{
			$immagini[] = $file;
			}
		}  
		closedir($dir);
	}
}
sort($categorie);
sort($immagini);
reset($categorie);
reset($immagini);
?>
<html>
<head>
<link rel="stylesheet" href="style.css" type="text/css">
<script language="javascript" type="text/javascript">
	function go(el) {
		var gal = el.options[el.selectedIndex].value;
		if(!gal){
			//window.location = index.php;
			var arg = '';
		}else{
			//window.location = 'galleria.php?gal=' + gal
			var arg = '?gal=' + gal;
		}
		window.location = 'index.php' + arg;
	}
</script>
<title>Test Galleria Immagini in PHP</title>
</head>
<body>
<?if($gal != "")print($cfg_pics_path."/".$categorie[$gal]."/")?>
<h1><?=$app_name?> (<small>vers. <?=$app_ver?></small>)</h1>
<p>Seleziona una categoria:</p>
<form name="selcat">
<select name="categoria">
  <option value=""<?if(strval($gal) == strval(""))print(" selected")?>>Seleziona...</option>
<?php
foreach($categorie as $key => $value) {
	$selected = (strval($key) == strval($gal)) ? ' selected' : '';
	print("  <option value=\"$key\"$selected>$value</option>\n");
}
?>
</select>
<input type="button" class="pulsante" value="Seleziona" onclick="go(this.form.categoria)">
</form>
<table border="0" width="100%">
  <tr>
    <td>Immagine</td>
  </tr>
<?php
foreach($immagini as $key => $value){
?>
  <tr>
    <td>
	  <?=$value?>
	</td>
  </tr>
<?php
}
?>
</table>
</body>
</html>
[/quote]
la cosa č che mentre mi mostra le categorie (che sono delle cartelle) non mi mostra
le immagini contenute nella cartella selezionata, come se tutte le cartelle fossero
vuote.
qualcuno saprebbe dirmi dove sbaglio, considerando che sono un noiubbo totale...
:)
Grazie a tutti,
Nick73
--
Enjoy the .NET community! ASPItalia.com
 
http://forum.aspitalia.com/
 
http://www.aspitalia.com/

   while (($file = readdir($dir)) !== false) {
Mi sa che c'è un = di troppo    ^^^^^^^^

 Mi sa che c'h un = di troppo    ^^^^^^^^
Perche'?
-- 
I am what I am, I do what I can
Sei un newbie? Leggi questo 
http://url.repository.biz/go/3C
Vuoi supportarmi? 
http://url.repository.biz/go/3E
Do. Or do not. There is not try.


Si ma se guardi c'è una porzione di codice prima e quella funge con due =
e cmq non funge neanche con !=
il fatto strtano è che la prima apertura della cartella (quando leggo solo i nomi
delle cartelle e non dei files) funge la seconda (lettura dei files) non va...
:( 


 Perche'?
ops, pensavo fosse giusto "!=" e non "!=="... ma allora si possono mettere
quanti ugali si vogliono?

 quanti ugali si vogliono?
Non proprio :)
L'operatore di confronto "==" sta per "uguale a" (indipendentemente dal
type), mentre il suo vicino di casa "===" restituisce true solo se trova
corrispondenza anche nel type (sostanzialmente: "identico a"). 
Da cui si evince che "!=" sta per "diverso da" e che "!==" sta per "non
identico a".
-- 
mailto: y = i
----------------------------------------
Vivo nel terrore di non essere frainteso 
(Oscar Wilde)

 
http://www.aspitalia.com/
l'errore è banale e ci puoi arrivare da solo con un'pò di debug..
cosa dovrebbe fare esattamente lo script? 
te ne stò scrivendo uno io.. 
-- 
www.iuz-lab.info

 
nel tuo codice l'errore dovrebbe essere stato qui..
if ($dir = @opendir($cfg_pics_path."/".$categorie[$gal]."/")) {
  while (($file = readdir($dir)) !== false) { 
    if($file != '.' && $file != '..' && is_file($cfg_pics_path."/".$file)
&& !is_link($cfg_pics_path."/".$file))
in questa ultima if dovresti controllare che
$cfg_pics_path."/".$categorie[$gal]."/".$file
sia un file.. e poi non un link
questo è quello che ho scritto 
(ma non è di certo uno script decente IMHO)
<?php
error_reporting(E_ALL);
$app_name = 'Galleria di Immagini';
$app_ver = '0.2';
$cfg_pics_path = 'imm';
$cfg_thumbs_path = 'thumb'; 
$script_url = '
http://www.cohoyote.net/beta/test
'; // senza l'ultimo slash
(
http://www.example.com/jimmy/delight
)
if(!isset($_GET['gal'])) $gal = NULL;
else $gal = stripslashes($_GET['gal']);
 
$categorie = array();
if(is_dir($cfg_pics_path . '/'))
  if($dir = opendir($cfg_pics_path . '/')){
    while(($file = readdir($dir)) !== false)
      if($file != '.' && $file != '..' && !is_file("$cfg_pics_path/$file")
&& !is_link("$cfg_pics_path/$file"))
        $categorie[] = $file;
    closedir($dir);
    sort($categorie);
    reset($categorie);
  }
 
if(isset($gal) AND is_dir("$cfg_pics_path/$gal/$file"))
  if($dir = opendir("$cfg_pics_path/$gal/")){
    $immagini = array();    
    while(($file = readdir($dir)) !== false)
      if($file != '.' && $file != '..' &&
is_file("$cfg_pics_path/$gal/$file")
&& !is_link("$cfg_pics_path/$gal/$file"))
        $immagini[] = $file;
    closedir($dir);
    sort($immagini);
    reset($immagini);
  }
echo "<b>Scegli una categoria</b><br />\r\n";
while(list(, $value) = each($categorie))
  echo "<a href='{$_SERVER['PHP_SELF']}?gal=$value'>$value</a><br />\r\n";
if(isset($immagini) AND is_array($immagini)){
  echo "<b>Immagini nella categoria: $gal</b><br />\r\n";
  while(list(, $value) = each($immagini)){
echo <<< EOF
<a href='$script_url/$cfg_pics_path/$gal/$value' target='about:blank'>
  <img src='$script_url/$cfg_thumbs_path/$gal/$value' alt='$value'><br />
  $value<br /><br />
</a>
EOF;
  }
}
?>
-- 
www.iuz-lab.info

}
era incompleto il percorso
cmq grazie a tutti
