Visualizzazione risultati 1 fino 4 di 4

Discussione: Problema upload unexpected $end

  1. #1
    Guest

    Predefinito Problema upload unexpected $end

    Raga sapete dirmi come mai non funziona?
    e se la grandezza file e possibbile stabilirla su av?pls
    Codice PHP:
    <?PHP

    // Prova xd
    //INZIO CONFIGURAZIONE
    //
    //Salva in "uploads" cosi mi ricordo di crearla xd
    //
    $BlackList = array //Estensioni proibite (in maiuscolo)
    (
    0 => "PHP",
    1 => "PHP3",
    2 => "PHP4",
    3 => "JS",
    4 => "HTML",
    5 => "HTM",
    6 => "EXE",
    7 => "BIN",
    8 => "SH"
    );

    $MaxSize = 200; //funzionera?bo
    //

    //

    if( !isset ( $_POST[ "upload" ] ) )
    {
    echo
    "<form action=\"upload.php\" method=\"POST\" enctype=\"multipart/form-data\">
    File:
    <input type=\"file\" name=\"thefile\" size=\"40\"><br>
    <input type=\"submit\" value=\"Upload\" name=\"upload\">
    </form>"
    ;
    }
    else
    {
    $_MY_UPLOAD = array
    (
    "content" => $_FILES[ "thefile" ][ "tmp_name" ],
    "name" => $_FILES[ "thefile" ][ "name" ],
    "size" => $_FILES[ "thefile" ][ "size" ],
    "extension" => getExtension($_FILES[ "thefile" ][ "name" ])
    );

    if(
    $_MY_UPLOAD[ "size" ] <= ( $MaxSize * 1024 ) )
    {
    if( !
    in_array( $_MY_UPLOAD[ "extension" ], $BlackList ) )
    {
    if (
    copy( $_MY_UPLOAD[ "content" ], "uploads/" . $_MY_UPLOAD[ "name" ] ) )
    echo
    "Upload efettuato con sucesso!";
    else
    die(
    "Impossibile copiare il file!");
    }
    else
    die(
    "Tipo di file ({$_MY_UPLOAD[ 'extension' ]}) non consentito!");
    }
    else
    die(
    "Il file troppo grande!");
    }

    function
    getExtension($fName)
    {
    $ext = explode( ".", $fName );
    return
    strtoupper( $ext[ count( $ext ) - 1 ] );



    ?>
    errore è
    Parse error: syntax error, unexpected $end in /membri/muitaly/upload/upload.php on line 67
    lo fatto in fretta ,forse ho fatto qualche errore cretino ,bo , ma cmq non riesco a trovarlo aiuto pls
    a 1 cosa è possibbile farmi invia file per aiutare il mio sito attraverso questo? o non è consentito?

  2. #2
    Guest

    Predefinito

    manca la graffa alla fine della funzione

    per il size
    metti questo prima del tag del file
    <input type="hidden" name="MAX_FILE_SIZE" value="la grandezza che vuoi in bytes" />

  3. #3
    Guest

    Predefinito

    a ke errore scemo la graffa^^ cmq per la tag devo fare quindi
    echo "<form action=\"upload.php\" method=\"POST\" enctype=\"multipart/form-data\">
    File:
    <input type="hidden" name="MAX_FILE_SIZE" value="la grandezza che vuoi in bytes" />

    <input type=\"file\" name=\"thefile\" size=\"40\"><br>
    <input type=\"submit\" value=\"Upload\" name=\"upload\">
    </form>";
    ?

  4. #4
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    Non esattamente, come vedi tutto quel pezzo di html è incluso in una stringa "..." e quindi non puoi usare il carattere doppievirgolette (") al suo interno se non con uno backslash davanti, cioè: \"
    come vedi in tutto il resto della stringa dopotutto.
    Quindi puoi fare in due modi:
    1) semplicemente sostituisci " con \" e mantieni la funzione echo originaria:
    Codice PHP:
    echo "<form action=\"upload.php\" method=\"POST\" enctype=\"multipart/form-data\">
    File:
    <input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"500000\" />

    <input type=\"file\" name=\"thefile\" size=\"40\" /><br />
    <input type=\"submit\" value=\"Upload\" name=\"upload\" />
    </form>"
    ;
    oppure:
    2) al posto di echo chiudi la parte di codice php (?>), scrivi codice html e poi ritorni in php (<?):
    Codice HTML:
    ?> <form action="upload.php" method="POST" enctype="multipart/form-data">
    File:
    <input type="hidden" name="MAX_FILE_SIZE" value="500000" />
    
    <input type="file" name="thefile" size="40" /><br />
    <input type="submit" value="Upload" name="upload" />
    </form> <?
    in questo secondo modo ti risparmi il cosiddetto "escaping" cioè eviti di mettere tutti i backslash \ prima delle virgolette "
    E' molto indicato il secondo metodo a maggior ragione visto che in quel pezzo c'è SOLO del codice html e niente php.
    Ultima modifica di heracleum : 12-10-2006 alle ore 21.20.44
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

Regole di scrittura

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