Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Prendere da una cartella un tot di immagini?

    Buon pomeriggio, vorrei sapere come prendere, 5 immagini differenti da una cartella..
    Sto eseguendo il for, ma credo in modo errato, perchè, me ne estrae 5, ma tutte uguali.

    codice:
    //$imgs è IL PERCORSO DELLE IMMAGINI
    	$i=0;
    	for($i=1;$i<=5;$i++){
    		echo "<img class=\"imgTmbGal\" src=\"$imgs\"/>";
    		echo $i;
    	}
    mmMMAAA....GRAZIE RAGà

  2. #2
    devi cambiare il nome dell'immagine da estrarre..... cosi' $imgs e' sempre lo stesso.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    grazie per avermi risposto...ma, come se fà?il mio rinc....nto è cronico!!!

  4. #4
    Originariamente inviato da ANTAGONIA
    grazie per avermi risposto...ma, come se fà?il mio rinc....nto è cronico!!!
    dipende da che hai... potresti caricare il nome dei file in un array e poi scorri l'array.

    oppure usare la classe dir e contare i file.... oppure readdir

    dai un'occhiata qui...

    http://it2.php.net/manual/it/ref.dir.php
    http://it2.php.net/manual/it/function.readdir.php
    http://it2.php.net/manual/it/class.dir.php

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    grazie piero, comunque sto tentando ma, come al solito, non c'è verso...Ho preso uno script da uno dei link che mi hai postato:

    codice:
    $startPath='archivio_foto/tmb/2005/';
    getFiles($startPath, &$arFiles);
    sort($arFiles);
    
    foreach($arFiles as $val)
            echo '[img]'.str_replace('.', '', $val[0]).'/'.urlencode($val[1]).'[/img]';
    
    function getFiles($dir, $arFiles)
         {
            $imgFiles=opendir($dir);
    
            while($aFile=readdir($imgFiles) )
                if(is_dir($dir.'/'.$aFile) && ereg('[^\.]', $aFile))
                    getFiles($dir.'/'.$aFile, &$arFiles);
                else if(eregi('.*\.jpg|.*\.jpeg|.*\.gif|.*\.png', $aFile))
                    $arFiles[]=array($dir, $aFile);
         }
    Cosi facendo, mi scrorre tutta la directory e le prende tutte...
    Domanda: come faccio a dire al foreach di estrapolarne soltanto 5-6 insomma quelle che mi servono?

    Scusate, come sempre, la mia ignoranza....Grazie mille...

  6. #6
    metti un contatore. poi con break esci raggiunto il valore.

    Codice PHP:

    $count 
    0;

    foreach .... {

    if (
    $count == 4) break;

    codice...

    $count++;


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    grazie mille piero, molto gentile.
    Allora, vorrei fare una cosa carina, cercando di visualizzare le immagini, in modo random.
    Ho visto che c'è una funzioncina rand, che potrebbe fare al caso mio.
    Però applicata come ti faccio vedere mi estrapola una sola immagine, in modo random
    codice:
    $startPath='archivio_foto/tmb/2005/2005_Viterbo';
    getFiles($startPath, &$arFiles);
    sort($arFiles); //produces desired result in PHP v4.4.4; other versions may not.
    	
    	$i=0;
    	$count = 0;
    	//$c = totale dei file dentro la directory	
    	$c = 254;
    	$rad = rand(0,$c-2);
    	echo "bo: " . $rad;
    	foreach($arFiles as $val){
    		//echo "bo: " . $rad;
    		if ($count == 8) break;
    		if($i == $rad){
    		
    			echo '[img]'.str_replace('.', '', $val[0]).'/'.urlencode($val[1]).'[/img]';
    			$count++; 
    		}
    		$i=$i+1;
    	}
    In pratica, il conteggio fino a 8, cosi, non funziona più...
    Come mai?
    Grazie ancora...

  8. #8
    usa shuffle per randomizzare il contenuto dell'array e poi estrai i primi 7-8

    http://it2.php.net/manual/it/function.shuffle.php

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  9. #9
    ho cercato di fare qualcosa, con shuffle, ma ovviamente non ci riesco, e vabbè pazienza.

    ti ringrazio piero, sempre molto gentile
    Buona giornata...

  10. #10
    Originariamente inviato da ANTAGONIA
    ho cercato di fare qualcosa, con shuffle, ma ovviamente non ci riesco, e vabbè pazienza.

    ti ringrazio piero, sempre molto gentile
    Buona giornata...

    Codice PHP:
    shuffle($arFiles); 
    $count 0;

    foreach(
    $arFiles as $val)  {
            if (
    $count == 4) break;
            echo 
    '[img]'.str_replace('.'''$val[0]).'/'.urlencode($val[1]).'[/img]';

    $count++;


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.