phpBB Italia chiude!
phpBB Italia ringrazia tutti gli utenti che hanno dato fiducia al nostro progetto per ben 9 anni, e che, grazie al grande lavoro fatto da tutto lo Staff (rigorosamente a titolo gratuito), hanno portato il portale a diventare il principale punto di riferimento italiano alla piattaforma phpBB.

Purtroppo, causa motivi personali, non ho più modo di gestirlo e portarlo avanti. Il forum viene ora posto in uno stato di sola lettura, nonché un archivio storico per permettere a chiunque di fruire di tutte le discussioni trattate.

Il nuovo portale di assistenza per l'Italia di phpBB diventa phpBB-Store.it, cui ringrazio per aver deciso di portare avanti questo grande progetto.

Grazie ancora,
Carlo - Amministratore di phpBB Italia

Modifica Lista

Area di discussione relativa al linguaggio di programmazione web più conosciuto. Il forum è dedicato anche a MySQL, la piattaforma di database più utilizzata con il PHP.
Avatar utente
Astro86
phpBB Expert
phpBB Expert
Messaggi: 924
Iscritto il: 12/08/2009, 14:36
Sesso: Maschio
Versione: 3.2.0
Server: UNIX/Linux
PHP: 5.6
Database: MYSQL
Località: PC. Via localhost N° 82.51.149.40
Contatta:

Modifica Lista

Messaggio da Astro86 » 20/08/2012, 20:12

Un mio amico mi ha fatto una script in php che permette di leggere il contenuto di una directory... ma quando me la data, si è dimenticato di inserirmi una funzione... e cioè di far vedere solo file con determinate estensioni.

cosa che tuttora non fa, oltre a farmi vedere tutti i file, mi fa vedere anche le cartelle cosa che non vorrei far vedere dato che è una lista per far vedere le immagini caricate...



Ora io di php non capisco molto e questo mio amico non so quando e se lo rivedrò... quindi mi chiedevo se potevate dargli una occhiata e magari aggiungerci questa modifica se si può...

Codice: Seleziona tutto

<?
$cartella="/uploads/";

chdir("./$cartella");

if(!($dp = opendir("./")))
	die("Non riesco a esplorare il contenuto");

while($file = readdir($dp))
{
	if(is_file($file))
		$lista[] = $file;
}
if(!($dp = opendir("./")))
	die("Non riesco a esplorare il contenuto");
while($file = readdir($dp))
{
	if(!is_file($file))
	$lista[] = $file;
}
/*if(!($dp = opendir("./")))
	die("Non riesco a esplorare il contenuto");
while($file = readdir($dp))
{
	if(!is_file($file))
	$lista[] = $file;
}
*/
$alt="200";
$larg="200";
sort($lista);
?>
<strong><a href="index.php">Torna all'uploader</a></strong> <br>
<script type="text/javascript">var message=""; function clickIE() {if (document.all) {(message); return false}} function clickNS(e) {if (document.layers||(document.getElementById&&!document.all)) {if (e.which==2||e.which==3) {(message); return false}}} if (document.layers) {document.captureEvents(Event.MOUSEDOWN); document.onmousedown=clickNS} else {document.onmouseup=clickNS; document.oncontextmenu=clickIE} document.oncontextmenu=new Function("return false")</script><br />
<br />
<br />
<br />


	<?
			foreach($lista as $index => $nome)
			{
			?>
            <img src="<? echo $cartella; echo $nome; ?>" width="<?php echo $alt;?>" height="<?php echo $larg;?>" alt="">
		<?
			}
			?>
Ringrazio infinitamente chi mi aiuta

Avatar utente
Micogian
Leader Programmatori
Leader Programmatori
Messaggi: 3704
Iscritto il: 07/01/2010, 8:51
Versione: 3.2.0
Server: UNIX/Linux
PHP: 5.4.36
Database: MySQL 5.1.70-log
Località: Udine
Contatta:

Re: Modifica Lista

Messaggio da Micogian » 21/08/2012, 9:03

Che cos'è che ti interessa, estrarre solo i file jpg ?
Potresti usare una condizione con la funzione strpos() che restituisce la posizione di una stringa.
Se il risultato è '0' la stringa non c'è e quindi non considera il file.
Esempio:

Codice: Seleziona tutto

while($file = readdir($dp))
{
   if(is_file($file))
      if (strpos($file, "jpg") > 0)
      {
      $lista[] = $file;
      }
}

Avatar utente
Astro86
phpBB Expert
phpBB Expert
Messaggi: 924
Iscritto il: 12/08/2009, 14:36
Sesso: Maschio
Versione: 3.2.0
Server: UNIX/Linux
PHP: 5.6
Database: MYSQL
Località: PC. Via localhost N° 82.51.149.40
Contatta:

Re: Modifica Lista

Messaggio da Astro86 » 21/08/2012, 13:22

mi interesserebbe far uscire fuori solo i principali formati immagine .jpg, .png, .gif...

Avatar utente
Micogian
Leader Programmatori
Leader Programmatori
Messaggi: 3704
Iscritto il: 07/01/2010, 8:51
Versione: 3.2.0
Server: UNIX/Linux
PHP: 5.4.36
Database: MySQL 5.1.70-log
Località: Udine
Contatta:

Re: Modifica Lista

Messaggio da Micogian » 21/08/2012, 13:38

Codice: Seleziona tutto

while($file = readdir($dp))
{
   if(is_file($file))
      if (strpos($file, "jpg") > 0 || strpos($file, "png") > 0 || strpos($file, "gif") > 0)
      {
      $lista[] = $file;
      }
}

Andrea RBR-W
Utente
Utente
Messaggi: 80
Iscritto il: 03/06/2012, 18:37
Sesso: Maschio
Versione: 3.0.10
Server: UNIX/Linux

Re: R: Modifica Lista

Messaggio da Andrea RBR-W » 21/08/2012, 14:36

Consiglio: prendi gli ultimi 3 caratteri e crei un array con le estensioni disponibili.. se hai bisogno di uns nuova estensione basta ke la inserisci nell'array..

X verificare le l'estensione del file sia tra quelle permesse usi la funzione in_array..

Inviato dal mio Vodafone 858 con Tapatalk 2

Andrea RBR-W
Utente
Utente
Messaggi: 80
Iscritto il: 03/06/2012, 18:37
Sesso: Maschio
Versione: 3.0.10
Server: UNIX/Linux

Re: Modifica Lista

Messaggio da Andrea RBR-W » 21/08/2012, 18:36

eccomi qua... xkè da pc ho qualke codice in più.... :D

Codice: Seleziona tutto

$array_ext = array("jpg","gif","....");

....CODICE....

while($file = readdir($dp)) {
   if(is_file($file)) {
      if (in_array(strtolower(substr($file,-3)), $array_ext)) {
          $lista[] = $file;
      }
    }
} 
così ti gestisce sia le estensione maiuscole ke le minuscole... se vuoi solo uno o l'altro, togli strtolower...

Avatar utente
Astro86
phpBB Expert
phpBB Expert
Messaggi: 924
Iscritto il: 12/08/2009, 14:36
Sesso: Maschio
Versione: 3.2.0
Server: UNIX/Linux
PHP: 5.6
Database: MYSQL
Località: PC. Via localhost N° 82.51.149.40
Contatta:

Re: Modifica Lista

Messaggio da Astro86 » 21/08/2012, 21:23

scusate l'ignoranza, ma ora basta che aggiungo il codice al resto della script o ooo?...

Avatar utente
Micogian
Leader Programmatori
Leader Programmatori
Messaggi: 3704
Iscritto il: 07/01/2010, 8:51
Versione: 3.2.0
Server: UNIX/Linux
PHP: 5.4.36
Database: MySQL 5.1.70-log
Località: Udine
Contatta:

Re: Modifica Lista

Messaggio da Micogian » 21/08/2012, 23:16

Mi sembra abbastanza chiaro, che tu usi un sistema o l'altro dovrebbero funzionare entrambi.
Sta a te decidere quale utilizzare, e tutti rappresentano una parte del tuo codice cha va sostituito, si dovrebbe capire quale.
Il bello del PHP è che spesso ci sono soluzioni diverse che portano allo stesso risultato.

Avatar utente
Astro86
phpBB Expert
phpBB Expert
Messaggi: 924
Iscritto il: 12/08/2009, 14:36
Sesso: Maschio
Versione: 3.2.0
Server: UNIX/Linux
PHP: 5.6
Database: MYSQL
Località: PC. Via localhost N° 82.51.149.40
Contatta:

Re: Modifica Lista

Messaggio da Astro86 » 22/08/2012, 0:52

già... Ok grazie infinite, ora l'ultimo pezzo del puzzle... mi da nella lista anche la cartella dove sono presenti le immagini, cioè /uploads/. e altre cartelle che non vorrei far vedere poiché servono ad altro ma sono essenziali... si possono oscurare?

Andrea RBR-W
Utente
Utente
Messaggi: 80
Iscritto il: 03/06/2012, 18:37
Sesso: Maschio
Versione: 3.0.10
Server: UNIX/Linux

Re: Modifica Lista

Messaggio da Andrea RBR-W » 22/08/2012, 8:59

prova così...

Codice: Seleziona tutto

    $array_ext = array("jpg","gif","....");

    ....CODICE....

    while($file = readdir($dp)) {
       if((is_file($file)) && (!is_dir($file))) {
          if (in_array(strtolower(substr($file,-3)), $array_ext)) {
              $lista[] = $file;
          }
        }
    } 

Rispondi

Torna a “PHP - MySQL”

Chi c’è in linea

Visitano il forum: Baidu [Spider] e 40 ospiti