PHP modulo ricerca e ordine alfabetico

  • Creatore Discussione Creatore Discussione Pieroz
  • Data di inizio Data di inizio

Pieroz

Moderatore
Membro dello Staff
MOD
18 Lug 2012
553
3
18
Altino
Ciao Ragazzi,
ho bisogno di aiuto!!! Voi direte... "MA VA, stai scrivendo su un forum.." ahahahah ma almeno non potete lamentrvi, non ho aperto una discussione con titolo "AIUTO!!!!!!!!!!!" :D

Allora su un sito ho realizzato, con un paio di pagine PHP un modulo per l'upload di file sullo spazio web ed un php che mi restituisce i file presenti in una determinata cartella. Di seguito vi posto questa ultima pagina dove vorrei aggiungere un modulo per la ricerca (se possibile) e se possibile avere un ordine alfabetico a questi file!

Tengo a precisare che non voglio usare database, in quanto lo voglio dismettere per rendere statico il sito!

PHP:
<html>
<head>
</head> 
<?php
$id="";
$id=$_GET['id'] ;

if ($id == "")
 echo ("<meta http-equiv='refresh' content='11'>");
?>

<script type="text/javascript" src="fotopopup.js"></script>
</head>

<body>

<p align="center" >
<h4>Associazione PEGASO onlus - LISTA documenti</h4>
<HR></HR>

</p>

<?php
$id="";
$id=$_GET['id'] ;
echo $id;
if ($id == "") {
// dimensioni della miniatura da creare
$thumbWidth = 120; // larghezza 
$thumbHeight = 120; // altezza 
// livello di compressione della miniatura
$thumbComp = 70;


$dir = "./";
// Open a known directory, and proceed to read its contents
if (is_dir($dir)) {
   if ($dh = opendir($dir)) {
	
      $elenco=array();	
      while (($file = readdir($dh)) !== false) {	$elenco[]="$file";
        }
        closedir($dh);

	sort($elenco);
	
        for ($i=0; $i<count($elenco); $i++){ 
	if (substr($elenco[$i],0,2) != "in" && substr($elenco[$i],0,1)!= ".")
{
// str_replace(stringa, stringa, stringa)

$tmp=$elenco[$i];

$CODICE = "<a href='".$tmp."'>" . $tmp ."</a> <br><br>";

echo $CODICE."\n";


//             echo "<a href=\" $elenco[$i]\" > <img src='"."M_".$elenco[$i]."' alt='pippo'> </img> $elenco[$i]   </a> <br> \n";
             }
        }
       
    }
}
} // nessun ID richiesto
else

{
$CODICE = "<script>w_opent1(". "'".$id. "'" .",'" . "M_".$id."'".",'$id')</script>";
echo $CODICE."\n";
}


?> 

</body>

</html>
 
Ciao
l'ordine alfabetico mi pare ci sia già
per la ricerca potresti creare un input e inviare il dato in GET
nel ciclo poi se settato il GET verifichi che la parola cercata sia presente nella stringa che andrai a stampare
PHP:
if (isset($_GET['ricerca'])) {
    if (strstr($CODICE, $_GET['ricerca'])) {
        echo $CODICE . "\n";
    }
} else {
    echo $CODICE . "\n";
}
note:
chiudi due volte la head
è sempre bene verificare che le variabili globali siano settate pprima di utilizzarle altrimente php genera un notice
PHP:
if (isset($_GET['id'])) {
            $id = $_GET['id'];
        }
 
Ciao,
hai pienamente ragione per l'ordine alfabetico, già è presente, solo che non avevo capito che ordinava lettere Maiuscole e Minuscole distintamente.

Per la ricerca ti ringrazio, ma dovresti aiutarmi più nello specifico in quanto con il PHP dire che sono alle prime armi è dire anche troppo!
 
Prova cosi
PHP:
<html>
    <head>
        <?php
        if (isset($_GET['id']) && !empty($_GET['id']))
            $id = $_GET['id'];
        else
            echo ("<meta http-equiv='refresh' content='11'>");
        ?>
        <script type="text/javascript" src="fotopopup.js"></script>
    </head>
    <body>
        <h4 align="center">Associazione PEGASO onlus - LISTA documenti</h4>
        <hr/>
        <form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post">
            Nome file <input value="<?php if (isset($_POST['file']))
            echo $_POST['file'] ?>" type="text" name="file"/>
            <input type="submit" name="cerca" value="Cerca"/>
        </form>
        <?php
        if (empty($id)) {
// dimensioni della miniatura da creare
            $thumbWidth = 120; // larghezza 
            $thumbHeight = 120; // altezza 
// livello di compressione della miniatura
            $thumbComp = 70;

            $dir = "./";

            if (is_dir($dir)) {
                if ($dh = opendir($dir)) {

                    $elenco = array();
                    while (($file = readdir($dh)) !== false) {
                        $elenco[] = "$file";
                    }
                    closedir($dh);

                    sort($elenco);

                    for ($i = 0; $i < count($elenco); $i++) {
                        if (substr($elenco[$i], 0, 2) != "in" && substr($elenco[$i], 0, 1) != ".") {

                            $tmp = $elenco[$i];
                            $CODICE = "<a href='" . $tmp . "'>" . $tmp . "</a> <br><br>";
                            if (isset($_POST['file']) && !empty($_POST['file'])) {
                                if (strstr($tmp, $_POST['file'])) {
                                    echo $CODICE . "\n";
                                }
                            } else {
                                echo $CODICE . "\n";
                            }
                        }
                    }
                }
            }
        } // nessun ID richiesto
        else {
            echo "<script>w_opent1(" . "'" . $id . "'" . ",'" . "M_" . $id . "'" . ",'$id')</script>\n";
        }
        ?> 
    </body>
</html>
se non ti è chiaro qualche passaggio dimmelo che lo commento
 
;) :D soluzione brusca ma indolore :D

funziona perfettamente!!! grazie e grazie per avermi dato la soluzione immediata!!! :D :beer:
 
problema lettura dati da dvd

Salve a tutti,

Vorrei sapre un'informazione. C'è la possibilità di leggere dati in php presi da dvd e poi memorizzarli in un database ??? Inoltre c'è la possibilità di distinguere file e cartelle nella fase di lettura del dvd ??? Se si mi potet spiegare come fare ??? Grazie sto impazzendo. Ho esegunto degli esempi con opendir e company ma senza risultato. Spero in una vostra soluzione. Aspetto con ansia una vostra risposta, grazie.
 

Discussioni simili