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

    [PHP] Script di Upload non funzionante

    Ciao a tutti
    ho creato questo script di upload, che non funziona... Non trovo l'errore e non stampa niente neanche con error_reporting a E_ALL!!
    Vi posto il codice::

    Codice PHP:
     

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    questo codice mi sa che non fa molto

  3. #3
    Ehi qualcuno ha cancellato tutte le risposte e il codice!! Mi avevano già risposto..
    Vabè avranno avuto problemi con il db!
    Ora lo ri-posto

    Codice PHP:
    <?php

    $file 
    $_FILES['img'];

    $cons = array(
    "image/jpeg",
    "image/jpg",
    "image/png",
    "image/dib",
    "image/bmp",
    "image/jfif",
    "image/jpe",
    "image/tif",
    "image/tiff",
    "image/pjpeg"
    );
    if(!
    in_array($file['type'], $cons)){  

    define("DIR""/membri/riupload/_altervista_ht/");

    if (!
    in_array($file['type'],$cons))
        { 
    // apro if principale
            
    echo "Attenzione: hai selezionato un file che &egrave; in un formato non supportato! Torna indietro!";
        } 
    // chiudo if principale
    else // apro else principale
    {
        
    if (isset(
    $_POST['action']) and $_POST['action'] == 'upload'// inizio if 1
    {
        if (isset(
    $file)) // inizio if 2
        
    {
                if (
    $file['error'] == UPLOAD_ERR_OK and is_uploaded_file($file['tmp_name'])) // inizio if 3
                
    {
                    
    $cas rand(09);
                    
    $cas.= rand(09);
                    
    $cas.= rand(09);
                    
    $cas.= rand(09);
                    
    $cas.= rand(09);
                    
    $data date("d-m-y");
                    
    $nome basename($file['name']);
                    
    $nome str_replace('.gif''_'.$cas.'_'.$data.'.gif'$nome);
                    
    $nome str_replace('.png''_'.$cas.'_'.$data.'.png'$nome);
                    
    $nome str_replace('.jpg''_'.$cas.'_'.$data.'.jpg'$nome);
                    
    $nome str_replace('.jpeg''_'.$cas.'_'.$data.'.jpg'$nome);
                    
    $nome str_replace('.pjpeg''_'.$cas.'_'.$data.'.jpg'$nome);
                    
    $nome str_replace('.bmp''_'.$cas.'_'.$data.'.bmp'$nome);
                    
    $nome str_replace('.dib''_'.$cas.'_'.$data.'.bmp'$nome);
                    
    $nome str_replace('.jpe''_'.$cas.'_'.$data.'.jpg'$nome);
                    
    $nome str_replace('.jfif''_'.$cas.'_'.$data.'.jpg'$nome);
                    
    $nome str_replace('.tiff''_'.$cas.'_'.$data.'.tif'$nome);
                    
    $nome str_replace('.tif''_'.$cas.'_'.$data.'.tif'$nome);
                    
    $nome_e_dir DIR.$nome;
                    
    $temp basename($file['tmp_name']);
                    
    move_uploaded_file($temp$nome_e_dir);
                    
    $ok "La tua immagine &egrave; stata caricata al seguente indirizzo: http://tiupload.altervista.org/_altervista_ht/".$nome;
                    echo 
    $ok;
                } 
    // chiudo if 3
                
    else // apro else 3
                
    {
                    echo 
    "Errore interno: riprova...";
                } 
    // chiudo else 3
            
    // chiudo if 2
            
    else // apro else 2
            
    {
                echo 
    "Errore: non hai inserito nessun file...";
            } 
    // chiudo else 2
        
    // chiudo if 1
        
    else // apro else 1
        
    {
            
    header("Location:form.htm");
        } 
    // chiudo else 1
    // chiudo else principale
    }
    ?>
    E' molto strano! Mi da semplicemente pagina bianca senza caricare niente!!

  4. #4
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    comincia con il mettere questo a inizio file:

    codice:
    error_reporting(E_ALL); // report all errors
    ini_set("display_errors", 1);
    Poi, secondo me il controllo è meglio se lo fai sull'estensione, visto che il mimetype è riempito dal browser, e potrebbe essere diverso.
    La sicurezza che il file che ti arriva sia realmente un'immagine non ce l'hai nè con l'estensione nè con il tuo metodo, però con l'estensione fai + in fretta.

    Per il resto senza errori è difficile dire cosa succeda.

    Prova a vedere se con il codice che ti ho dato vedi + informazioni, altrimenti stampa a video gli array $_POST e $_FILES e cerca di capire dove si blocca.

    ciao

  5. #5
    Quoto il mio primo messaggio:

    "...neanche con error_reporting a E_ALL..."

    A parte il controllo dell'estensione, non capisco perchè non carica i file!
    Ho dato alla cartella _altervista_ht i permessi 777!

  6. #6
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    e io riquoto il mio:

    error_reporting(E_ALL); // report all errors
    ini_set("display_errors", 1);
    Hai messo anche l'ini_set? se display_errors è settato a zero puoi mettere anche una preghiera tibetana in error_reporting che non succede nulla :-)

    Se l'hai già messo come ti ho detto prima, prova a stampare con print_r l'array $_FILES e l'array $_POST, vedi cosa arriva alla pagina php.

    ciao

  7. #7
    Se error_reporting ti dico che è a E_ALL vuol dire che avrò anche display_errors a 1 se ci ragioni un po'!!

    Comunque dal MIME Type si può fare benissimo il controllo..
    Oramai tutti i browser mettono gli stessi MIME Type

    gif è image/gif
    png è image/png
    jpeg (jpg, jfif) è image/pjpeg o image/jpeg
    eccetera..

    Comunque se non vuoi aiutarmi chiedo a qualcun'altro!

    Ciao!!

  8. #8
    Che cosa restituisce questo codice?

    Codice PHP:
    <pre><?php 
    define
    ("DIR""/membri/riupload/_altervista_ht/"); 
    var_dump(is_dir(DIR));
    var_dump(is_writable(DIR));
    ?></pre>

  9. #9
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Se error_reporting ti dico che è a E_ALL vuol dire che avrò anche display_errors a 1 se ci ragioni un po'!!
    ma sei fuori di testa?

    1. Una cosa non implica per forza l'altra.
    2. Fin'ora ti aiutato, senza nessun tono polemico, quindi vedi di abbassare le orecchie.

    Se ti sto aiutando non posso dare per scontato che tu abbia messo l'error reporting a 1, altrimenti faccio delle supposizioni sul possibile errore dando per scontato qualcosa che non hai fatto.

    Se ci ragioni un po' forse non sei cosi esperto come vuoi fare intendere non dovresti avere bisogno di aiuto per un compito cosi banale, comunque per quanto mi riguarda puoi anche arrangiarti.

  10. #10
    Originariamente inviato da gianiaz
    ma sei fuori di testa?

    1. Una cosa non implica per forza l'altra.
    2. Fin'ora ti aiutato, senza nessun tono polemico, quindi vedi di abbassare le orecchie.

    Se ti sto aiutando non posso dare per scontato che tu abbia messo l'error reporting a 1, altrimenti faccio delle supposizioni sul possibile errore dando per scontato qualcosa che non hai fatto.

    Se ci ragioni un po' forse non sei cosi esperto come vuoi fare intendere non dovresti avere bisogno di aiuto per un compito cosi banale, comunque per quanto mi riguarda puoi anche arrangiarti.
    Beh in effetti è vero, scusa..
    Il problema è che ero già arrabbiato di mio..
    Ancora scusa

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.