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

    Dovrei gestire dischi da php

    Premetto che sono un neofita e mi rivolgo spesso a voi per le mie curiosità, ma da qualche tempo, mi gira in testa una idea che spero mi aiutate a realizzare.
    In breve si tratta di questo:
    Ho un vasto archivio di foto, filmati e testi, che vorrei implementare nel mio sito.
    ma il tutto, è suddiviso in diversi dischi. sono riuscito a trovare uno script che mi lista il contenuto della cartella (e lo linka per il download) , ma non uno script che mi elenca il contenuto dei dischi (e lo linka per il download).
    Potete aiutarmi ??

  2. #2
    è forse impossibile ?

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    mmmh... non ricordo se c'è qualcosa di specifico... non mi pare, comunque puoi provare:

    Codice PHP:
    function DriveExists($drive) {
        
    $exists false;
        
    $drive strtoupper($drive);
        if ( (
    strlen($drive) == 2) && (substr($drive11) == ':') && ((substr($drive01) >= 'A') && (substr($drive01) <= 'Z')) ) {
            
    $exists file_exists($drive.chr(92));
        };
        return (
    $exists);
    };
    function 
    DriveList() {
        
    $drivelist = array();
        for (
    $o ord('a'); $o <= ord('z'); $o++) {
            
    $drive strtoupper(chr($o)).':';
            if (
    DriveExists($drive)) $drivelist[] = $drive;
        };
        return (
    $drivelist);
    }; 
    La funzione DriveExists() verifica la presenza di un drive (es.: DriveExists('D:') restituendo il booleano true o false di conseguenza).
    La funzione DriveList() restituisce invece l'elenco dei drive trovati (utilizza la funzione precedente) in un array.

    Tieni conto che con alcuni dispositivi possono esserci situazioni particolari. Per esempio se c'è un lettore CD/DVD, ma senza disco all'interno probabilmente vedrai la risorsa in "Risorse del computer", ma non nella lista... da verificare.

    NOTA: chr(92) è il carattere di backslash inserito così per ovviare a qualsiasi problema di rappresentazione a video (anche dentro questo forum)

  4. #4
    Grazie per la risposta, ma da neofita che sono, non riesco ad implementarla nello script che ho trovato
    lo script che uso, si chiama phpdl-v2, e lo trovi a questo link

    http://greg-j.com/2008/08/14/release...nd-phpdl-lite/

    lo trovo molto carino graficamente parlando, e volevo modificarlo per i miei scopi.

    Dici che si può fare ?

    E.. se si, come ??

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    mhhh. penso di sì, ma non conosco lo script che dici nello specifico... aspetta una risposta da qualcuno che l'ha usato o ha tempo per provarlo o prova a individuare del codice da modificare e posta quello... in alternativa posso suggerirti due prove che potresti fare:

    1. creare dei link separati dalla struttura di navigazione (per es. in cima alla pagina) da cui l'utente seleziona il drive e poi richiami la pagina con il disco selezionato
    2. provare con i file ".lnk": crearli al volo sulla base dei drive esistenti e verificare come si comporta lo script con questi file (anche se quasi certamente li vedrà come normali file di testo... ma ripeto: non conosco nello specifico lo script indicato)

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    157
    per vedere se esiste il disco basta file_exists($percorso); tutta la funzione servirà anche, ma così stai prima.

    Codice PHP:
    function DriveList() {
        
    $drivelist = array();
        for (
    $o ord('A'); $o <= ord('Z'); $o++) {
            
    $drive chr($o).':';
            if (
    file_exists($drive)) 
                
    $drivelist[] = $drive;
        };
        return (
    $drivelist);
    }; 
    prova così, è praticamente come prima, solo più corto.

    sta cosa restituisce tutti i dischi presenti sul computer, poi basta che per ogni disco usi lo script che hai trovato per scorrere le varie cartelle e segnalare i link al download.

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    mah... appunto... è la stessa cosa solo che anzichè usare una funzione di controllo fa il check di esistenza direttamente nel ciclo... io ho messo due funzioni solo per comodità, appunto, oltre a inserire un po' di controlli...

    ...se poi si applica la proposta che dicevo con un "menù esterno" per la selezione del drive, la funzione DriveExists è importante averla "indipendente" perchè se ad esempio inserisci un CD, questo comparirà nella lista, se poi uno seleziona il drive vedrà il contenuto, ma se nel frattempo ha estratto il CD avrebbe una situazione non consistente (andrebbe appunto usato DriveExists al momento di "aprire" la il drive)...

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    157
    no ma il problema che dici tu non si presenta, basta un controllo in cima alla pagina: se il driver selezionato esiste al momento dell'esecuzione elenca, altrimenti genera errore.

    però il problema non è questo, lui ha bisogno di un elenco dei dischi disponibili, e per questo sia la mia che la tua soluzione funzionano.

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    sì... chiaramente funzionano entrambe, perchè la tua soluzione è identica alla mia, ma abbreviata... io invece stavo puntualizzando la questione dell'esistenza in riferimento alla possibilità di fare un menù "separato" dallo script di visualizzazione dei contenuti magari addirittura in frames separati... esempio:

    mettiamo due frames, in cima compaionio: "C: | E: | F:" (in base alla lista "generata" di drives esistenti) e sotto è visualizzato il contenuto di "C:". A questo punto l'utente clicca una delle voci e l'altro frame dovrebbe visualizzare il contenuto corrispondente, ma prima deve fare un controllo perchè non è detto che il drive "esista ancora" (es.: disco rimuovibile o chiamata illegale allo script).

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    157
    ok, ma comunque funzionano entrambe le soluzioni, basta che quando seleziona il disco e si carica la pagina si faccia il controllo.

    in alternativa basta che il frame contenente l'elenco dei dischi disponibili venga aggiornato ogni tot secondi, però è una soluzione orrida ^^

    il problema di cui stai parlando è che il tizio voglia aprire un disco rimosso, ma come già detto il problema non si pone poichè basta controllare al momento del caricamento se il disco selezionato esista o meno.

    be happy

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.