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

    Upload multiplo recuperare tmp_name

    Ciao a tutti,
    Devo creare un upload multiplo e per questo motivo sto utilizzando un'array multidimensionale che mi sta creando qualche problema in quanto non riesco a recuperare il tmp_name per spostare l'immagine sul server.

    Di seguito il codice utilizzato, dove sbaglio?
    codice:
        $files = $_FILES['fileselect'];
        //echo "".$files;
    	foreach ($files['error'] as $id => $err) {
    		if ($err != UPLOAD_ERR_OK) {
    			$fn = $files['name'][$id];
    			if(move_uploaded_file($files["tmp_name"][$id],'uploads/'.$fn)){
    				echo "
    
    File $fn uploaded.</p>";
    			}else{
    				echo "Stored: ".$files["name"][$id];
    			}
    		}
    	}
    Grazie a chi mi vorrà aiutare...

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503

    Re: Upload multiplo recuperare tmp_name

    tuo codice
    Codice PHP:
        $files $_FILES['fileselect'];
        
    //echo "".$files;
        
    foreach ($files['error'] as $id => $err) {
            if (
    $err != UPLOAD_ERR_OK) { // questo è vero se l'upload fallisce, penso tu voglia il contrario
                
    $fn $files['name'][$id];
                if(
    move_uploaded_file($files["tmp_name"][$id],'uploads/'.$fn)){
                    echo 
    "

    File 
    $fn uploaded.</p>";
                }else{
                    echo 
    "Stored: ".$files["name"][$id];
                }
            }
        } 

  3. #3
    Ho modificato il codice mettendo nell'if ==
    Ora mi segnala il seguente errore...

    Invalid argument supplied for foreach() ??

  4. #4
    Utente di HTML.it L'avatar di skjobax
    Registrato dal
    Jan 2010
    Messaggi
    569
    A volte capitano degli errori durante la modifica...
    Potresti farci vedere il codice che hai modificato?
    A volte la soluzione a un problema è sempre la più semplice...

  5. #5
    Questo è il codice utilizzato
    codice:
    $files = $_FILES['fileselect'];
        
    	foreach($files['error'] as $id => $err){
    		if ($err == UPLOAD_ERR_OK) {
    			$fn = $files['name'][$id];
    			if(move_uploaded_file($files["tmp_name"][$id],'uploads/'.$fn)){
    				echo "
    
    File $fn uploaded.</p>";
    			}else{
    				echo "Stored: ".$files["name"][$id];
    			}
    		}else{
    				print_r($files['error'][$id]);
    		}
    	}
    Mi stampa il codice dell'errore e non sò da cosa possa dipendere l'errore è il 2

  6. #6
    Utente di HTML.it L'avatar di skjobax
    Registrato dal
    Jan 2010
    Messaggi
    569
    Dal manuale php.net:

    codice:
    UPLOAD_ERR_FORM_SIZE
    Value: 2; The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form.
    Ovvero: il file che stai cercando di caricare è troppo grande!

    Fonti: http://php.net/manual/en/features.fi...oad.errors.php
    A volte la soluzione a un problema è sempre la più semplice...

  7. #7
    Sono riuscito a trovare il problema e ora funziona quasi tutto non riesco a lavorare su ajax non sapendo nulla di quest'ultimo.

    Il codice in questione è il seguente
    codice:
    $fn = (isset($_SERVER['HTTP_X_FILENAME']) ? $_SERVER['HTTP_X_FILENAME'] : false);
    				if ($fn) {
    					// AJAX call
    					file_put_contents('../uploads/' . $fn,file_get_contents('php://input'));
    					echo "$fn uploaded";
    					exit();
    				}
    Magari conosci un pò di ajax

  8. #8
    Utente di HTML.it L'avatar di skjobax
    Registrato dal
    Jan 2010
    Messaggi
    569
    Che libreria usi?
    A volte la soluzione a un problema è sempre la più semplice...

  9. #9
    Utilizzo la seguente libreria...
    filedrag.js

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.