Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    82

    [Upload File] Problema Script

    Ho un problema con questo semplice script che permette l'upload di foto seguite da data e descrizione:

    codice:
    <?php
    
    include ""functions.php;
    
    function form_add_photo()
    	{
    	global $PHP_SELF;
    	print "<h1>Inivia una Foto</h1>
    ";
    	print "<form method='POST' action='$PHP_SELF' enctype='multipart/form_data'>";
    	print "<table border='0'><tr><td>";
    	print "Foto Scattata il :
    <input type='text' name='data'>
    
    </p>";
    	print "<input type='hidden' name='max_file_size' value='3000'>";
    	print "Seleziona la Foto da Uppare :
    <input type='file' nome='foto'>
    
    </p>";
    	print "Insersci una Descrizione alla Foto :
    <textarea name='descrizione' cols='30' rows='5'></textarea>
    ";
    	print "<input type='submit' value='Invia'>";
    	print "</td></tr></table></form>";
    }	
    
    //Inserisco il form per inviare i messaggi
    form_add_photo();
    
    
    //Dichiaro alcune variabili
    $data=$HTTP_POST_VARS['data'];
    $foto=$HTTP_POST_FILES['foto']['name'];
    $descrizione=$HTTP_POST_VARS['descrizione'];
    
    
    //Sposto il file uploadato in una directory apposita
    if (isset($foto)){
    	$dir="/foto";
    	if(!opendir($dir)){
     		mkdir($dir, 0777);
    		opendir($dir);
    	}
    	move_uploaded_file ($foto, $dir) or die ("Impossibile spostare il file");
    }
    
    
    //Controllo che siano stati completati tutti i campi e inserisce il messaggio nel DB
    if((!$data) || (!$foto) || (!$descrizione)){
    	print "Perfavore compila tutti i campi!";
    	} else {
    	photo_to_db($data, $foto, $descrizione);
    }
    	 
    ?>
    Il problema è che il php non mi assegna nessun valore alla variabile $foto ($foto=$HTTP_POST_FILES['foto']['name'] e quindi, invece di inviare i dati al database, mi dice: "Perfavore compila tutti i campi !" (vedi ultimo if)

    Sapete aiutarmi?
    Grazie

  2. #2
    Controlla innanzi tutto se sono settate le variabili. Poi usa $_FILES al posto di $HTTP_POST_FILES e $_POST al posto di $HTTP_POST_VARS e vedi se funziona!
    I dilettanti costruirono l'Arca, i professionisti il Titanic!

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    82
    purtroppo non va ancora..

  4. #4
    Guarda questo se ti funziona

    script

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    82
    mi dice:

    "non hai scelto nessun file da inserire! "

    Ma ora mi sorge un dubbio.. non è che funziona solo da on-line?

  6. #6
    1) Se funziona online al 90% funziona anche in locale a meno di incompatibilità ma con un upload del genere è molto molto difficile.

    Cmq ecco alcuni errori che ho trovato:

    1) Non serve dichiarare $_SERVER['PHP_SELF'] come global dato che già lo è
    2) Per usare PHP_SELF devi riferirti all'array superglobale $_SERVER['PHP_SELF']
    3) Invece di usare l'array superglobale $_HTTP_POST_VARS usa $_POST
    4) Invece di usare HTTP_POST_FILES usa $_FILES
    5) Per spostare in una posizione definitiva un file caricato non devi rifarti al suo nome sul client ($_FILES['field']['name'] ma al suo nome temporaneo sul server: $_FILES['field']['tmp_name']

    Per vedere se i dati vengono inviati fai un print_r( $_POST ) e vedi che ti esce.

    PS
    L'html va scritto TUTTO in minuscolo.
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  7. #7
    oggi pomeriggio se ho tempo scrivo uno script per fare sti benedetti upload

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    82
    ho modificato e continua a non avere valore la variabile $foto

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    82
    up!

  10. #10
    ti ho detto di provare a fare il print_r( $_POST ) ; in questo modo sapremo se almeno le var del forum arrivano per capire qual sia il problema.

    Se col print_r non stampa niente posta il codice modificato.
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

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.