Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura
Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura
Il primo Micro RGB di Samsung per il salotto è il 65 pollici da 2.749 euro. Sul banco di misura abbiamo rilevato 2.000 nit di picco, nero assoluto con il local dimming e il 91,4% del BT.2020, il colore più ampio che abbiamo misurato su un LCD
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre
Apple ha rinnovato iPhone 18 Pro soprattutto dentro: chip A20 Pro a 2 nm con memoria affiancata al SoC, camera di vapore tre volte più ampia, Dynamic Island più piccola del 25% grazie a Face ID sotto il display e fotocamera principale con diaframma variabile da f/1.48 a f/4. Lo abbiamo misurato al colorimetro e nei benchmark, usato con iOS 27 e messo alla prova in fotografia tra laghi, borghi e interni poco illuminati
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34
A Londra, per il trentennale dei Toughbook, Panasonic ha presentato il tablet G3 e il 2-in-1 34. Con Jon Tucker, a capo dell'ingegneria europea, abbiamo parlato di ciò che non si vede: batterie, antenne, porte seriali e accorgimenti nati sul campo
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 14-09-2006, 09:50   #1
SaintTDI
Senior Member
 
L'Avatar di SaintTDI
 
Iscritto dal: Jul 2004
Città: Roma
Messaggi: 2094
[PHP] Script per una lista di file e cartelle data una dir

Ciao a tutti...

Stanotte stavo provando a fare un mio primo script

Fare una funziona (ricorsiva) che data una directory (vorrei riuscire a dargli la directory dove si trova il file (usando il ".") ma non ci sono riuscito sotto win ) mi salva... o in un array o in una variabile tutte le cartelle e file che ci sono. Ovviamente fino alla fine magari se faccio partire lo script da "C:\" mi stampa il nome del file fino all'ultima cartella

mi serve perchè facendo cosi... ogni volta che uploado le cartelle con i gol del campionato... non devo cambiare nessun file

Non so se già esiste uno script del genere... oppure qualcosa di simile stavo provando su http://php.html.it/script ... ma non ho trovato niente

qualcuno mi sà aiutare?
SaintTDI è offline   Rispondi citando il messaggio o parte di esso
Old 14-09-2006, 10:18   #2
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Quote:
Originariamente inviato da SaintTDI
Fare una funziona (ricorsiva) che data una directory (vorrei riuscire a dargli la directory dove si trova il file (usando il ".") ma non ci sono riuscito sotto win ) mi salva... o in un array o in una variabile tutte le cartelle e file che ci sono. Ovviamente fino alla fine magari se faccio partire lo script da "C:\" mi stampa il nome del file fino all'ultima cartella
Guarda e usa le funzioni opendir(), readdir() e closedir().
__________________
Andrea, Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 14-09-2006, 10:33   #3
SaintTDI
Senior Member
 
L'Avatar di SaintTDI
 
Iscritto dal: Jul 2004
Città: Roma
Messaggi: 2094
Quote:
Originariamente inviato da andbin
Guarda e usa le funzioni opendir(), readdir() e closedir().
eh si... infatti stavo stanotte stavo usando quelle funzioni anche filetype() e is_dir() per sapere se era un file o una dir... per poi fare la ricorsività solo sulla directory... però mi stavo impicciando... e non ci riuscivo sarà stato l'orario

più che altro... è che scrivendo is_dir($dir); dove $dir = "."; mi dava errore non so se per colpa di windows... oppure no.
SaintTDI è offline   Rispondi citando il messaggio o parte di esso
Old 14-09-2006, 10:55   #4
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Prova questo script:
Codice:
<?php
function leggiDir (&$list, $dir)
{
    if (($hdir = opendir ($dir)) !== FALSE)
    {
        while (($name = readdir ($hdir)) !== FALSE)
        {
            if ($name != "." && $name != "..")
            {
                $fullname = realpath ($dir . "/" . $name);

                array_push ($list, $fullname);

                if (is_dir ($fullname))
                    leggiDir ($list, $fullname);
            }
        }

        closedir ($hdir);
    }
}


$lista_path = array ();

leggiDir ($lista_path, "C:\\TEMP");

foreach ($lista_path as $path)
{
    echo $path . "<br>\r\n";
}
?>
__________________
Andrea, Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 14-09-2006, 11:26   #5
SaintTDI
Senior Member
 
L'Avatar di SaintTDI
 
Iscritto dal: Jul 2004
Città: Roma
Messaggi: 2094
Quote:
Originariamente inviato da andbin
Prova questo script:
Codice:
<?php
function leggiDir (&$list, $dir)
{
    if (($hdir = opendir ($dir)) !== FALSE)
    {
        while (($name = readdir ($hdir)) !== FALSE)
        {
            if ($name != "." && $name != "..")
            {
                $fullname = realpath ($dir . "/" . $name);

                array_push ($list, $fullname);

                if (is_dir ($fullname))
                    leggiDir ($list, $fullname);
            }
        }

        closedir ($hdir);
    }
}


$lista_path = array ();

leggiDir ($lista_path, "C:\\TEMP");

foreach ($lista_path as $path)
{
    echo $path . "<br>\r\n";
}
?>
grazie

con l'aiuto del tuo script sono riuscito a fare questo:

Codice PHP:
<HTML>
    <BODY>
        <TABLE WIDTH=40% ALIGN=CENTER BORDER=3>
        <TR><TH>ELENCO DEI FILE</TH></TR>
        <?php
        
        $dir 
= '.';
        
stampa_dir($dir);

        function 
stampa_dir($dir)
        {
            
            
$cartella = opendir($dir);

            
            while (
$file = readdir($cartella)) 
            {
                
$file_array[] = $file;
            }
            
            foreach (
$file_array as $file)
            {
                
                if ( 
$file == ".." || $file == ".") 
                {
                    continue;
                }

                
                
                
$path = realpath ($dir . "/" . $file);

                
$tipo_file = filetype($path);
                echo 
"<TR><TD><CENTER>";
                echo 
"<a href=\"$path\">$path - tipo file: $tipo_file</a>";
                
                if (
$tipo_file == "dir")
                {
                    
stampa_dir($path);
                }

                
                echo 
"</CENTER></TD></TR>";
            }
        }
        
?>
        </TABLE>
    </BODY>
</HTML>
ovviamente adesso su Win mi crea il path "C:\programmi\apache\.. " etc etc e non mi apre il link.

invece caricando tutto sul server... dovrebbe funzionare senza problemi giusto?
SaintTDI è offline   Rispondi citando il messaggio o parte di esso
Old 14-09-2006, 11:30   #6
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Quote:
Originariamente inviato da SaintTDI
ovviamente adesso su Win mi crea il path "C:\programmi\apache\.. " etc etc e non mi apre il link.
Invece di usare:
$dir = '.';

usa

$dir = getcwd();
__________________
Andrea, Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 14-09-2006, 11:42   #7
SaintTDI
Senior Member
 
L'Avatar di SaintTDI
 
Iscritto dal: Jul 2004
Città: Roma
Messaggi: 2094
Quote:
Originariamente inviato da andbin
Invece di usare:
$dir = '.';

usa

$dir = getcwd();
ahime fa la stessa cosa mi genera sempre percorso assoluto
SaintTDI è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura Samsung Micro RGB R95H, il primo LCD a LED rossi...
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre iPhone 18 Pro: la recensione del miglior iPhone ...
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34 Panasonic, 30 anni di Toughbook: la "Bibbia...
realme C100x, lo smartphone economico con la batteria da 7500 mAh. La recensione realme C100x, lo smartphone economico con la bat...
Star Wars Zero Company è l'erede di XCOM 2 Star Wars Zero Company è l'erede di XCOM ...
Spunta un engineering sample di Ryzen 9 ...
iPhone 18 Pro, alcuni utenti segnalano s...
Android Auto: Gemini ascolta la domanda ...
OpenAI avvisa oltre 100 organizzazioni p...
Dall'AI alla SI: il rebranding di Trump ...
0patch offrirà supporto esteso pe...
Sudo sembra un iPod, ma nasconde una car...
Meta, OpenAI e Google rifanno OpenClaw: ...
Pixel 10a: Google alza il prezzo di 100 ...
5 sconti TOP e una super city e-bike per...
Speciale Sonoff per utenti Prime: 4 valv...
Meno ghiaccio, meno acqua: il dato che c...
SBS annuncia il lancio degli accessori P...
Speciale Smart TV 65 e 75 pollici in off...
GL.iNet Beryl 7 a 107,19€: router Wi-Fi ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 13:49.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v