Pagina 1 di 2 12 UltimoUltimo
Visualizzazione risultati 1 fino 30 di 35

Discussione: [PHP] Upload tramite HTTP - solo alcune estensioni

  1. #1
    Guest

    Exclamation [PHP] Upload tramite HTTP - solo alcune estensioni

    Ciao a tutti...
    tempo fa per l'upload dal lato client tramite HTTP utilizzavo questo script:
    Codice PHP:
    <?
    $uploaddir
    = '/membri/turkosoft/hosted/';
    $FILE_MAX_SIZE = '500000';
    if (
    $_FILES['userfile']['size'] < $MAX_FILE_SIZE) {
    if (
    move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir . $_FILES['userfile']['name'])) {
    echo
    "File caricato con successo! <META HTTP-EQUIV=Refresh CONTENT='3; URL=./hosted/index.php'>";
    } else {
    echo
    "Errore, file non caricato! Riprova in seguito. <META HTTP-EQUIV=Refresh CONTENT='3; URL=index.php'>";
    }
    } else {
    echo
    "Dimensioni del file eccessive, il file non può superare i ".$MAX_FILE_SIZE." bytes.";
    }
    ?>
    il problema di questo script, è che carica qualsiasi tipo di file... io invece vorrei che si possano caricare solo immagini con estensioni:
    .gif / .jpg / .jpeg / .bmp / .png
    Ed inoltre, vorrei che quando l'immagine viene caricata, mi dia l'url completo dell'immagine...

    Ho fatto qualche ricerca, ed ho trovato un paio di post... solo che non ho capito la funzione di come faccio a determinare quali estensioni posso far passare e quali no...

    confido in voi
    ...byex!
    Ultima modifica di TurkoSoft : 12-12-2006 alle ore 16.45.56

  2. #2
    Ospite Guest

    Predefinito

    Citazione Originalmente inviato da jacki
    Ciao,

    Vorrei fare anchio un Upload di immagini,...

    Solo che voglio fare cosi:
    1) ti viene l' opzione sfoglia file...
    2) appena effettuato il caricamneto nella cartella /img/ venga un input con il link dell' immagine es http://miosito.it/img/miaimma.jpg
    3) inoltre se possibile fare che controlli che sia un imma di vari formati ad es jpg, gif, png e tutti i formati imm.. che esistono... e che mandi solo immagini = o inferiori a 1 mb....

    Possibile'???

    grazie...
    Ankio sto cercando la stessa cosa,... come si fa???

  3. #3
    Guest

    Predefinito

    Pure io cerco una cosa simile... :D

  4. #4
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Se vuoi controllare che sia un'immagine puoi verificare che il content-type inizi con la parola "image/". Se vuoi controllare l'estensione basta prendere le ultime lettere del nome del file con la funzione substr.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  5. #5
    Ospite Guest

    Predefinito

    Codice PHP:
    if (($img_name != NULL)&&($img_type == "image/gif")&&($img_size <= 100000)) {
    Io ho questa riga di codice, voglio mettere piu formati, basta che metto dopo image/gif ancora uno /jpg/bmp/ecc...???

    poi,
    per mettere che venga un echo con il link dell' immagine basta che metto:

    <form><input>http://miosito.it/immagini/$img_name</input></form>

    cosi funzia???

    o devo mettere nell' input l' action d' invio de file?

  6. #6
    Guest

    Predefinito

    se vuoi usare quel tipo di controllo, roba tipo
    Codice PHP:
    if (($img_name != NULL)&&(($img_type == "image/gif") OR ($img_type == "image/jpeg") OR ($img_type == "image/png"))&&($img_size <= 100000)) {
    dovrebbe andare
    ciao!

  7. #7
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Codice PHP:
    if ($img_name!=NULL && ($img_type=="image/gif" || $img_type=="image/jpeg") && $img_size<=100000) {
    Oppure:
    Codice PHP:
    if ($img_name!=NULL && substr($img_type,0,6)=="image/" && $img_size<=100000) {
    Per mettere il link:
    Codice PHP:
    echo "<a href=\"http://miosito.it/immagini/{$img_name}\">http://miosito.it/immagini/{$img_name}</a>";
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  8. #8
    Ospite Guest

    Predefinito

    grazie...

    ma vorrei che il link pero senza <a> venga visualizzato in un form....

    come faccio.... a metterlo nell eco?

  9. #9
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Codice PHP:
    echo "<input type=\"text\" value=\"http://miosito.it/immagini/{$img_name}\" />";
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  10. #10
    Ospite Guest

    Predefinito

    Codice PHP:
    if (($img_name != NULL)&&($img_type == "image/gif")&&($img_size <= 100000)) {
    copy("$img_temp", "immagine/$img_name") or
    die(
    "File non copiato.");
    }else{
    echo
    "File non accettato!";
    }
    ?>
    dove lo colloco qui???

    Grazie...

  11. #11
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Subito dopo il die.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  12. #12
    Guest

    Predefinito

    scusate, mi sono perso qualcosa
    ma il codice completo, sarebbe questo:
    Codice PHP:
    <?
    if ($img_name!=NULL && ($img_type=="image/gif" || $img_type=="image/jpeg") && $img_size<=100000) {
    copy("$img_temp", "immagine/$img_name") or
    die(
    "File non copiato.");
    echo
    "<a href=\"http://miosito.it/immagini/{$img_name}\">http://miosito.it/immagini/{$img_name}</a>";
    }else{
    echo
    "File non accettato!";
    }
    ?>
    poi faccio il form per gli utenti e tutto fatto?

  13. #13
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Citazione Originalmente inviato da TurkoSoft
    scusate, mi sono perso qualcosa
    ma il codice completo, sarebbe questo:
    Codice PHP:
    <?
    if ($img_name!=NULL && ($img_type=="image/gif" || $img_type=="image/jpeg") && $img_size<=100000) {
    copy("$img_temp", "immagine/$img_name") or
    die(
    "File non copiato.");
    echo
    "<a href=\"http://miosito.it/immagini/{$img_name}\">http://miosito.it/immagini/{$img_name}</a>";
    }else{
    echo
    "File non accettato!";
    }
    ?>
    poi faccio il form per gli utenti e tutto fatto?
    Non è uno script completo.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  14. #14
    Guest

    Predefinito

    Citazione Originalmente inviato da funcool
    Non è uno script completo.
    come posso integrare quel codice con il mio script postato nel primo messaggio?

    grazie

  15. #15
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Nel tuo script modifica l'if in questo modo:
    Codice PHP:
    if ($_FILES['userfile']['size']<$MAX_FILE_SIZE && ($_FILES['userfile']['type']=="image/gif" || $_FILES['userfile']['type']=="image/jpeg")) {
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  16. #16
    Guest

    Predefinito

    come faccio a recuperare il nome dell'immagine per farla visualizzare in un echo?
    cioè non ho ben capito qual'è la variabile del nome dell'immagine

  17. #17
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Il nome nel tuo caso è: $_FILES['userfile']['name']
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  18. #18
    Guest

    Predefinito

    Citazione Originalmente inviato da funcool
    Il nome nel tuo caso è: $_FILES['userfile']['name']
    se nell'echo metto questo:
    Codice PHP:
    <a href=\"http://servizi.turkosoft.org/uploader/hosted/$_FILES['userfile']['name']\" target=\"_blank\">VIEW IMAGE</a>
    mi da questo errore:
    syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING
    help

  19. #19
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Codice PHP:
    echo "<a href=\"http://servizi.turkosoft.org/uploader/hosted/{$_FILES['userfile']['name']}\" target=\"_blank\">VIEW IMAGE</a>";
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  20. #20
    Guest

    Predefinito

    @ funcool: grazie
    Un'altra cosa, se devo aggiungere più estensioni, come ddevo modificare questa stringa?
    Codice PHP:
    if ($_FILES['userfile']['size']<$MAX_FILE_SIZE && ($_FILES['userfile']['type']=="image/gif" || $_FILES['userfile']['type']=="image/jpeg")) {
    così andrebbe bene (?):
    Codice PHP:
    if ($_FILES['userfile']['size']<$MAX_FILE_SIZE && ($_FILES['userfile']['type']=="image/gif" || $_FILES['userfile']['type']=="image/jpeg" || $_FILES['userfile']['type']=="image/jpg" || $_FILES['userfile']['type']=="image/bmp" || $_FILES['userfile']['type']=="image/png")) {
    grazie

    EDIT: ho risolto da solo
    Ultima modifica di TurkoSoft : 13-12-2006 alle ore 19.06.28

  21. #21
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    In quell'if non viene controllata l'estensione dell'immagine ma il tipo dell'immagine quindi non devi mettere "image/jpg" perché c'è già "image/jpeg". Per controllare l'estensione leggi i primi messaggi.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  22. #22
    Ospite Guest

    Predefinito

    Non mi prende gli altri formati:
    Codice PHP:
    if ($img_name!=NULL && ($img_type=="image/gif" || $img_type=="image/jpeg" || $img_type=="image/png" || $img_type=="image/bmp") && $img_size<=100000) {
    cosa sbaglio?

    ah! Voglio fare che gli ultimi 10 file caricati vengano automaticamente salvati sottoforma di link <a> su file di testo o su database cosi da poterli richiamre su un altra pagina! Come faccio???

  23. #23
    Guest

    Predefinito

    senza fare tutti quegli or in cascata, proporrei di fare così:
    Codice PHP:
    function sicurezza($ammessi, $mime){
    for (
    $i=0; $i<count($ammessi); $i++){
    if(
    stristr($mime, $ammessi[$i])) return true;
    }
    return
    false;
    }

    ...

    ## parti di stringhe MIME
    $ammessi[0] = 'image';
    $ammessi[1] = '....';

    ...

    if (
    $_FILES['file']['size'] <= 100000 && sicurezza($ammessi, $_FILES['file']['type'])){

    ...

    }
    Ciao

  24. #24
    Ospite Guest

    Predefinito

    Non ho capito molto bene!!!

    Ma per salvare il file.txt... come devo fare???

    A poi se voglio aggiungere che se un nome di immagine e stato gia aggiunto.... come faccio a mettere che insieme al nome metta un numero???


    EDIT: Mi potete aiutare allora?
    Sopprattutto per la cosa dei formati, non me li prende, prende solo il primo che é GIF!
    Ultima modifica di funcool : 16-12-2006 alle ore 11.43.15

  25. #25
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    A $img_type hai assegnato $_FILES['nomecampo']['type']?

    P.S.: Non scrivere due messaggi consecutivi, utilizza il tasto Edita.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  26. #26
    Ospite Guest

    Predefinito

    $img_type = $_FILES['img']['type'];

    ho messo cosi!!!

  27. #27
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Allora prova a stampare il valore di $img_type e guarda cosa esce.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  28. #28
    Ospite Guest

    Predefinito

    come ha Stampare?

  29. #29
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Codice PHP:
    echo $img_type;
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  30. #30
    Ospite Guest

    Predefinito

    mi da: image/gif

Pagina 1 di 2 12 UltimoUltimo

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •