Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    1,683

    caricare più file per utente

    ciao a tutti!!!
    ho fatto un sito dove si può fare l'upload di file mp3

    1) se un utente può caricare più file, come faccio a tener in memoria che determinati file son di un utente e altri file son di un altro???

    2) come posso fare per far sentire i file mp3? c'è il modo che se ci si clicca sopra, o mettere il tasto play di fianco al nome o un modo per far il play del file???

  2. #2

    Re: caricare più file per utente

    Originariamente inviato da iacoposk8
    1) se un utente può caricare più file, come faccio a tener in memoria che determinati file son di un utente e altri file son di un altro???
    Salvi i file in una cartella assegnata all'utente, salvi i file inserendo nel nome l'ID dell'utente, inserisci nel database i nomi dei file con l'ID dell'utente, etc. etc etc.

    Originariamente inviato da iacoposk8
    2) come posso fare per far sentire i file mp3? c'è il modo che se ci si clicca sopra, o mettere il tasto play di fianco al nome o un modo per far il play del file???
    Non ha nulla a che fare con il PHP. Devi usare una tecnologia lato client (es. Flash)

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    1,683
    ma praticamente come si fa?
    se ho capito bene un utente esegue il login, quindi ci sarà una variabile che continene il nome dell'utente, poi nel momento dell'upload creao una cartella con il nome utente contenuto nella variabile, poi immagino che ci dovrà essere un controllo se la cartella esiste o meno, e se il file nella cartella esiste o meno giusto??
    ma praticamente come faccio queste operazioni???
    metto il codice del upload da modificare per non farvi riscrivere tutto
    codice:
    <?
    // QUESTE RIGHE RENDONO LO SCRIPT COMPATIBILE CON LE VERSIONI
    // DI PHP PRECEDENTI ALLA 4.1.0
    if(!isset($_FILES)) $_FILES = $HTTP_POST_FILES;
    if(!isset($_SERVER)) $_SERVER = $HTTP_SERVER_VARS;
    
    // Directory dove salvare i files Uploadati ( chmod 777, percorso assoluto)
    $upload_dir = $_SERVER["DOCUMENT_ROOT"] . "/upload";
    
    // Eventuale nuovo nome da dare al file uploadato
    $new_name = "";
    
    // Se $new_name è vuota, il nome sarà lo stesso del file uploadato
    $file_name = ($new_name) ? $new_name : $_FILES["upfile"]["name"];
    
    if(trim($_FILES["upfile"]["name"]) == "") {
    die("Non hai indicato il file da uploadare !");
    }
    if(@is_uploaded_file($_FILES["upfile"]["tmp_name"])) {
    @move_uploaded_file($_FILES["upfile"]["tmp_name"], "$upload_dir/$file_name")
    or die("Impossibile spostare il file, controlla l'esistenza o i permessi della directory dove fare l'upload.");
    } else {
    die("Problemi nell'upload del file " . $_FILES["upfile"]["name"]);
    }
    $allowed_types = array("audio/mpeg3","audio/x-mpeg-3","video/mpeg","video/x-mpeg");
    if(!in_array($_FILES["upfile"]["type"],$allowed_types)) {
    die("Il file non e' di un tipo consentito, sono ammessi solo i file mp3: " . implode(",", $allowed_types) . ".");
    }
    echo "L'upload del file " . $_FILES["upfile"]["name"] . " è avvenuto correttamente";
    ?>
    e poi un altra cosa, se mi potete fare uno script che mostra i file presenti in una cartella, grazie

  4. #4
    1) la soluzione più elegante è di avere una tabella db nella quale salvi il nome dell'immagine scaricata e l'id dell'utente che l'ha scaricata.

    2) Se posti quintali di codice, ti assicuro che nessuno li leggerà.

    3) Se utilizzi gli appositi tag per evidenziare il codice, renderai più semplice il lavoro a chi ti risponde

    4) Non credo sia una buona idea che qualcuno ti scriva un codice per leggere il contenuto di una directory(per altro semplicissimo). Non voler fare il passo più lungo della gamba, perdi un po' di tempo soprattutto ad imparare ad utilizzare la documentazione. Uno degli aspetti piû positivi di php, é quello di avere una documentazione completissima, ben fatta, e ricca di esempi.

    Ad esempio, la soluzione che stai cercando:

    www.php.net

    - documentation
    - english
    - Nel sottocapitolo Functions and Reference -> File System Related Extensions
    - Nel sottocapitolo Directories -> Directory functions
    - funzioni opendir - readdir

    Se poi come hai detto vieni dal C, non avrai nessun problema (PHP é figlio di primo letto di C)

    PHP LEARN - Guide, tutorial e articoli sempre aggiornati
    NUOVO: standardLib; il potente framework PHP é ora disponibile
    *******************************************
    Scarica oggi la tua copia di MtxEventManager

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    1,683
    Originariamente inviato da mtx_maurizio
    1) la soluzione più elegante è di avere una tabella db nella quale salvi il nome dell'immagine scaricata e l'id dell'utente che l'ha scaricata.
    ci avevo pensato anche io, però non è un problema se i file caricabili dall'utente sono più di uno?? in una "cella" del db come scrivo più nomi???

    Originariamente inviato da mtx_maurizio
    3) Se utilizzi gli appositi tag per evidenziare il codice, renderai più semplice il lavoro a chi ti risponde
    scusami, ma quali sono??

    Originariamente inviato da mtx_maurizio
    4) Non credo sia una buona idea che qualcuno ti scriva un codice per leggere il contenuto di una directory(per altro semplicissimo). Non voler fare il passo più lungo della gamba, perdi un po' di tempo soprattutto ad imparare ad utilizzare la documentazione. Uno degli aspetti piû positivi di php, é quello di avere una documentazione completissima, ben fatta, e ricca di esempi.

    Ad esempio, la soluzione che stai cercando:

    www.php.net

    - documentation
    - english
    - Nel sottocapitolo Functions and Reference -> File System Related Extensions
    - Nel sottocapitolo Directories -> Directory functions
    - funzioni opendir - readdir

    Se poi come hai detto vieni dal C, non avrai nessun problema (PHP é figlio di primo letto di C)

    ok grazie ora lo leggo

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    1,683
    ok, lo script per leggere la cartella l'ho creato, avevi ragione era davvero facile grazie per l'indicazione, però ancora non so come inserire più nomi di file nella stessa riga di database

  7. #7
    - Non devi scriverla nella stessa cella. Un file = 1 record

    id - id_user - nome_file
    1 3 nomefile.xxx
    2 3 nomefile.sss
    3 7 nomefile.jjj
    4 3 nomefile.jjjtz


    - i tag sono

    parentesi quadra PHP chiusa parentesi quadra (per aprire)
    parentesi quadra /PHP chiusa parentesi quadra (per chiudere)

    Lo scrivo così altrimenti lo interpreta
    PHP LEARN - Guide, tutorial e articoli sempre aggiornati
    NUOVO: standardLib; il potente framework PHP é ora disponibile
    *******************************************
    Scarica oggi la tua copia di MtxEventManager

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    1,683
    aaaaaaaa quindi nel db ci saran più nickname, tanti quanti il numero di file che l'utente inserisce

  9. #9
    No, non nikname.

    Il nikname sarà nella tabella users

    id - nikname - email - ......

    nella tabella file identifichi o leghi il nome del file con ID dell'utente che lo ha scaricato.

    Questa si chiama relazionalità, ed é una delle proprietà più importanti dei moderni database. Ti consiglio di approfondire perché non si può veramente fare senza
    PHP LEARN - Guide, tutorial e articoli sempre aggiornati
    NUOVO: standardLib; il potente framework PHP é ora disponibile
    *******************************************
    Scarica oggi la tua copia di MtxEventManager

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    1,683
    ok, provo allora

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.