Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    Problema nel codice per caricare file

    Buona sera a tutti!
    Ho un codice che mi permetteva tramite un form di caricare un file in una determinata posizione ma se avessi voluto caricare in altre cartelle del sito avrei dovuto copiare il codice n volte il numero di posizioni... così ho pensato tramite menu a tendina di fare un codice che uno seleziona dove vuole posizionarlo...
    codice form
    Codice PHP:
            <form method="POST" action="testupload.php">
        [
    b]Posizione file[/b]
    <
    input type="file" name="user_file" />

    <
    input type="hidden" name="action" value="upload" />
    <
    select name="posizionefile">

    <
    option value="../">./</option>
    <
    option value="../admin">./admin</option>
    <
    option value="../css">./css</option>
    <
    option value="../files">./files</option>
    <
    option value="../images">./images</option>
    <
    option value="../js">./js</option>
    <
    option value="../res">./res</option>
    <
    option value="../uploads">./uploads</option>

    </
    select>
    <
    input type="submit" value="Invia" name="invia">
    </
    form
    codice php
    Codice PHP:
    $posfile=$_REQUEST[posizionefile];
    define("UPLOAD_DIR"$posfile);

    if(isset(
    $_POST['action']) and $_POST['action'] == 'upload')
    {
        if(isset(
    $_FILES['user_file']))
        {
            
    $file $_FILES['user_file'];
            if(
    $file['error'] == UPLOAD_ERR_OK and is_uploaded_file($file['tmp_name']))
            {
                
    move_uploaded_file($file['tmp_name'], UPLOAD_DIR.$file['name']);
            }
        }

    Dove sbaglio? Un grazie in anticipo!!

  2. #2
    Qual é l'errore?

  3. #3
    non carica il file!

  4. #4
    Ma la variabile posfile non viene passata via post come il resto?
    Codice PHP:
    $posfile=$_POST[posizionefile];
    define("UPLOAD_DIR",_$posfile);

    if(isset(
    $_POST['action'])_and_$_POST['action']_==_'upload')
    {
    ____if(isset($_FILES['user_file']))
    ____{
    ________$file_=_$_FILES['user_file'];
    ________if($file['error']_==_UPLOAD_ERR_OK_and_is_uploaded_file($file['tmp_name']))
    ________{
    ____________move_uploaded_file($file['tmp_name'],_UPLOAD_DIR.$file['name']);
    ________}
    ____}


  5. #5
    Scusate le righette sto usando il telefono

  6. #6
    Originariamente inviato da fontanalorenzo
    Ma la variabile posfile non viene passata via post come il resto?
    Codice PHP:
    $posfile=$_POST[posizionefile];
    define("UPLOAD_DIR",_$posfile);

    if(isset(
    $_POST['action'])_and_$_POST['action']_==_'upload')
    {
    ____if(isset($_FILES['user_file']))
    ____{
    ________$file_=_$_FILES['user_file'];
    ________if($file['error']_==_UPLOAD_ERR_OK_and_is_uploaded_file($file['tmp_name']))
    ________{
    ____________move_uploaded_file($file['tmp_name'],_UPLOAD_DIR.$file['name']);
    ________}
    ____}

    Ho provato il tuo codice e non funziona ancora... quando clicco su "Invia" ritorna immediatamente sulla pagina iniziale (l'avevo impostato con un header dopo aver caricato il file)... se vi può aiutare vi posto il codice precedente funzionante
    HTML
    Codice PHP:
    <form method="post" action="testupload.php" enctype="multipart/form-data">
                <
    input type="hidden" name="action" value="upload" />
                <
    label>Carica il tuo file in "./" :</label>

                <
    input type="file" name="user_file" />
                

                <
    input type="submit" value="Carica online" />
            </
    form
    PHP
    Codice PHP:
    define("UPLOAD_DIR""../");

    if(isset(
    $_POST['action']) and $_POST['action'] == 'upload')
    {
        if(isset(
    $_FILES['user_file']))
        {
            
    $file $_FILES['user_file'];
            if(
    $file['error'] == UPLOAD_ERR_OK and is_uploaded_file($file['tmp_name']))
            {
                
    move_uploaded_file($file['tmp_name'], UPLOAD_DIR.$file['name']);
            }
        }


  7. #7
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Prova cosi e vedi che risultati ti da:
    Codice PHP:
    define("UPLOAD_DIR""../"); 

    if(
    $_POST['action'] == 'upload' && isset($_FILES['user_file'])) 

            
    $file $_FILES['user_file']; 
            if(
    $file['error'] == UPLOAD_ERR_OK and is_uploaded_file($file['tmp_name'])) 
            { 
               if(
    move_uploaded_file($file['tmp_name'], UPLOAD_DIR.$file['name']))
                          echo 
    "Upload conseguito con successo";
            }


  8. #8
    rimane la pagina bianca...
    secondo me è che la variabile $posfile non assume nessun un valore quindi di conseguenza non trova dove caricarlo...
    premetto che del tuo codice questa stringa
    define("UPLOAD_DIR", "../");
    l'ho cambiata in
    define("UPLOAD_DIR", $posfile);
    così a seconda di cosa assume la variabile cambia la posizione cioè se io seleziono "../images/" la variabile assume quel valore e quindi mi dovrebbe mettere il file in quella cartella, giusto?

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Originariamente inviato da Ottyteo
    rimane la pagina bianca...
    secondo me è che la variabile $posfile non assume nessun un valore quindi di conseguenza non trova dove caricarlo...
    premetto che del tuo codice questa stringa
    define("UPLOAD_DIR", "../");
    l'ho cambiata in
    define("UPLOAD_DIR", $posfile);
    così a seconda di cosa assume la variabile cambia la posizione cioè se io seleziono "../images/" la variabile assume quel valore e quindi mi dovrebbe mettere il file in quella cartella, giusto?
    Dovrebbe essere giusto ovviamente quelle directory devono esistere , comunque prova ad aggiungere gli else a tutti gli if per vedere dov'è l'errore o se non trova le variabili

  10. #10
    secondo me non legge le variabili perchè quel codice li funzionava quindi secondo me non legge il valore di $posfile...

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.