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

    [Php+Mysql] Upload + file alla volta su mysql [BLOB]

    ciao ragazzi!


    ho bisogno di un parere...

    avrei bisogno di vedere se è possibile inserire + di una foto alla volta tramite form...

    al momento uso uno script che sfrutta il seguente form:

    codice:
    <form name="form" method="post" action="aggimmobilefoto.php" enctype="multipart/form-data">
        
    
        <table width="95%" border="0" align="center" cellpadding="0" cellspacing="0">
          <tr>
            <td><div align="right">Locazione </div></td>
            <td><select name="localita" id="localita" onChange="inviaCambiamenti()" >
                <option value="">Seleziona la localit&agrave;</option>
                <?
    		     $query_localita = "SELECT * FROM localita ORDER BY localita";
                 $result_localita = mysql_query($query_localita)
    
      		  	or die("Query Fallita:".mysql_error());
    			 
    		   while($row_localita=mysql_fetch_array($result_localita,MYSQL_ASSOC))
    		    {
            	if($row_localita[id_localita]==$localita) echo "<option value=\"$row_localita[id_localita]\" SELECTED>$row_localita[localita]</option>";
    			else echo "<option value=\"$row_localita[id_localita]\">$row_localita[localita]</option>";
    			}
    
             ?>
              </select></td>
          </tr>
          <tr>
            <td width="25%"><div align="right"> Id Immobile</div></td>
            <td width="25%"><select name="immobile" id="select" >
                <?
    				
    				
    				echo '<option value="">Seleziona id immobile</option>';
    				$query="SELECT * FROM immobile WHERE localita LIKE $localita  ORDER BY id_immobile";
    
    				
    				$result = mysql_query($query,$db);
    
    				while($row = mysql_fetch_assoc($result)){
    
    					echo '<option value="'.$row[id_immobile].'">'.$row[id_immobile].'</option>';
    
    				}
    
    
    
    				
    
    				?>
              </select></td>
          </tr>
          <tr>
            <td width="25%"><div align="right"></div></td>
            <td width="25%"><div align="left"> </div></td>
          </tr>
          <tr>
            <td width="25%"><div align="right">Foto</div></td>
            <td width="25%"><div align="left">
                <input type="file" name="fileUpload" size="10">
              </div></td>
          </tr>
          <tr>
            <td width="25%"><div align="right">titolo Foto</div></td>
            <td width="25%"><div align="left">
                <input type="text" name="strDesc" size="20" maxlength="50">
              </div></td>
          </tr>
        </table>
        
    
    
          <input name="Invia" type="submit" id="Invia" value="Invia"  >
        </p>
      </form>

    che butta il file su una pagina php che riceve la foto e la inserisce su mysql nel campo blob...

    codice:
    <?
    //dichiarazioni variabili globali x il pdf
     global $strDesc;
     global $fileUpload;
     global $fileUpload_name;
     global $fileUpload_size;
     global $fileUpload_type;
    
    //connessione al db
        include("config.inc.php");
        //includo la lib con le funzioni pe ril controllo LoD RuLEZ
        include("classe_controllo_stringa.php");
       if ($strDesc=="") echo "";
    
    	else {
    				$fileHandle = fopen($fileUpload, "r");
    				$fileContent = fread($fileHandle, $fileUpload_size);
    				$fileContent = addslashes($fileContent);
    			 	 }
    
       $db = mysql_connect($db_host, $db_user, $db_password);
        if ($db == FALSE)
            die ("<p align=\"center\">Errore nella connessione. Verificare i parametri nel file config.inc.php</p>
    
    ");
    
      //Selezione del db
        mysql_select_db($db_name, $db)
            or die ("<p align=\"center\">Errore nella selezione del database. Verificare i parametri nel file config.inc.php</p>
    
    ");
    			
    //annullamento stream temporanei del blob se la foto nn è inserita
    	    if ($strDesc=="")
          		{
            		$fileContent="";
          			$strDesc="";
          			$fileUpload_type="";
          		}
    	    $query3 = "INSERT INTO foto_immobile (id_foto_immobile, blobData, blobtitle, blobType, blobName, blobSize, id_immobile) VALUES ('', '$fileContent', '$strDesc' ,'$fileUpload_type', '$fileUpload_name', '$fileUpload_size', '$immobile')";
    				if (mysql_query($query3, $db))
    		{
    		            echo "<p align=\"center\"><font color=\"#CC0000\">Aggiornamento eseguito correttamente</p></FONT>
    <CENTER><a href=\"right.php\"><font color=\"#000000\">torna indietro</font></CENTER>";
    		}
    	 else
    		{
               echo "<p align=\"center\">Errore durante l'inserimento dei Dati</p>
    
    <CENTER><a href=\"javascript:history.go(-1)\"><font color=\"#000000\">torna indietro</font></CENTER>";
    	        echo mysql_error();
            }
            //Chiusura del db
            mysql_close($db);
    ?>
    il problema è che nn riescoa buttare su + di una foto alla volta...


    avete qualche consiglio?


    un saluto!
    =LoD=
    Studio Arkaios
    Arkaios.it

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    guarda questa pillola se ti è utile:
    http://forum.html.it/forum/showthrea...hreadid=764691

    ciao

  3. #3
    Originariamente inviato da ken84
    guarda questa pillola se ti è utile:
    http://forum.html.it/forum/showthrea...hreadid=764691

    ciao
    tnx a lot


    ci do un'ocio
    =LoD=
    Studio Arkaios
    Arkaios.it

  4. #4
    problema...

    sfruttando la pillola nn riesco a passare + di una variabile alla volta nel form...

    codice:
    <?php
    // file upload.class.php
    //
    // Marco Barcaro
    // 27/12/2004
    // Testato con Apache 1.3.29, PHP 4.3.10, su winXP
    // Testato con Apache 1.3.26, PHP 4.1.2, su Debian
    
    $dir_upload=(substr($dir_upload,-1) != "/" && $dir_upload != "") ? $dir_upload."/" : $dir_upload;
    define("DIR_UPLOAD",$dir_upload);
    define("CHMOD_DIR",$chmod_dir);
    define("DEBUG",$debug);
    define("SOVRASCRIVI_FILE",$sovrascrivi_file);
    define("DIM_MASSIMA",$dim_massima*1024);
    define("CHECK_TIPI",$check_tipi);
    define("TIPI_PERMESSI",implode("|",$tipi_permessi));
    
    class upload {
    	function upload(){
    	}
    
    	function caricafile(){
    			
    	$db_host = "localhost";
    	$db_user = "red";
    	$db_password = "asturie";
    	$db_name = "cappuccetto";
    
    	  $db = mysql_connect($db_host, $db_user, $db_password);
       if ($db == FALSE)
        die ("<p align=\"center\">Errore nella connessione. Verificare i parametri nel file config.inc.php</p>
    
    ");
       //Selezione del db
       mysql_select_db($db_name, $db)
         or die ("<p align=\"center\">Errore nella selezione del database. Verificare i parametri nel file config.inc.php</p>
    
    ");
         $today = date("j-n-Y, H:m"); 
    
    		$data_odierna = date("Y-m-d");
    	   $query_annuncio = "INSERT INTO annunci (id_annuncio , nome, citta, regione, mail, data_inserimento, testo) VALUES ('', '$nome','$citta','$regione','$mail','$data_odierna','$testo')";
    		mysql_query($query_annuncio, $db);
    		
    		$query_last= "SELECT id_annuncio FROM annunci ORDER BY id_annuncio DESC LIMIT 0,1";
    		$row_last = mysql_fetch_assoc($result_last);
    		
    		
    		//CODICE PER L'UPLOAD CON VARI CONTROLLI
    		if (count($_FILES) > 0){
    			$numero_file= count($_FILES['file']['tmp_name']);
    			for($i=0;$i<$numero_file;$i++){
    				if($_FILES['file']['size'][$i] == 0){
    					echo "L'UPLOAD DEL FILE {$_FILES['file']['name'][$i]} NON E' ANDATO A BUON FINE!
    \n";
    					unset( $_FILES['file']['name'][$i]);
    					unset( $_FILES['file']['type'][$i]);
    					unset( $_FILES['file']['size'][$i]);
    					unset( $_FILES['file']['error'][$i]);
    					unset( $_FILES['file']['tmp_name'][$i]);
    				}
    			}
    			$numero_file=count( $_FILES['file']['tmp_name']);
    			echo "Hai caricato $numero_file file(s)";
    			echo "
    
    \n";
    			foreach($_FILES['file']['name'] as $chiave=>$valore){
    				if (DEBUG == 1){
    					echo "Nome file: ".$_FILES['file']['name'][$chiave]."
    \n";
    					echo "Tipo file: ".$_FILES['file']['type'][$chiave]."
    \n";
    					echo "Dimensione: ".$_FILES['file']['size'][$chiave]." byte
    \n";
    					echo "Nome temporaneo: ".$_FILES['file']['tmp_name'][$chiave]."
    \n";
    				}
    				if (is_uploaded_file( $_FILES['file']['tmp_name'][$chiave])){
    					if ($_FILES['file']['size'][$chiave] <= DIM_MASSIMA){
    						if(CHECK_TIPI == 0 || (CHECK_TIPI == 1 && in_array( $_FILES['file']['type'][$chiave], explode("|",TIPI_PERMESSI)))){
    							if(!is_dir(DIR_UPLOAD) && DIR_UPLOAD != ""){
    								if( !@mkdir(DIR_UPLOAD,CHMOD_DIR))
    									die("ERRORE NELLA CREAZIONE DELLA DIRECTORY ".DIR_UPLOAD."");
    							}
    							if(!file_exists(DIR_UPLOAD.$_FILES['file']['name'][$chiave]) || SOVRASCRIVI_FILE == 1){
    								if (@move_uploaded_file( $_FILES['file']['tmp_name'][$chiave], DIR_UPLOAD.$_FILES['file']['name'][$chiave])){
    									echo "FILE {$_FILES['file']['name'][$chiave]} TRASFERITO!";
    								$nome_file = $_FILES['file']['name'];
    			$query_foto = "INSERT INTO foto_annunci (id_foto_annuncio , file, id_annuncio) VALUES ('', '$nome_file', $result_last[id_annuncio])";
    								mysql_query($query_annuncio, $db);
    
    									
    									}
    							
    								else
    									die("ERRORE NEL TRASFERIMENTO DEL FILE ".$_FILES['file']['name'][$chiave]."");
    							} else
    								echo ("IL FILE ".$_FILES['file']['name'][$chiave]." E' ESISTENTE!");
    						} else 
    							echo ("IL TIPO DI FILE ".$_FILES['file']['type'][$chiave]." NON E' CONSENTITO!");
    					} else
    						echo ("LA DIMENSIONE DEL FILE ".$_FILES['file']['type'][$chiave]." NON E' CONSENTITA!");
    				} else
    					die("ERRORE NEL TRASFERIMENTO DEL FILE ".$_FILES['file']['name'][$chiave]."");
    				echo "<hr />\n";
    			}
    		}
    	}
    
    	function mostraform(){
    $db_host = "localhost";
    	$db_user = "red";
    	$db_password = "asturie";
    	$db_name = "cappuccetto";
    
    	  $db = mysql_connect($db_host, $db_user, $db_password);
       if ($db == FALSE)
        die ("<p align=\"center\">Errore nella connessione. Verificare i parametri nel file config.inc.php</p>
    
    ");
       //Selezione del db
       mysql_select_db($db_name, $db)
         or die ("<p align=\"center\">Errore nella selezione del database. Verificare i parametri nel file config.inc.php</p>
    
    ");
         $today = date("j-n-Y, H:m"); 
    		
    		//FORM PER EFFETTUARE L'UPLOAD
    		echo "<html>
    		<head>
    		<script type=\"text/javascript\" src=\"esterno.js\"></script>
    		</head>
    		<body>
    		<form action=\"{$_SERVER['PHP_SELF']}\" method=\"POST\" name=\"modulo\" enctype=\"multipart/form-data\">
                <table width=\"96%\" border=\"0\" class=\"content\">
                  <tr>
                    <td width=\"28%\"><div align=\"center\">Nome</div></td>
                    <td width=\"72%\"><input type=\"text\" name\"textfield\" /></td>
                  </tr>
                  <tr>
                    <td><div align=\"center\">Citt&agrave;</div></td>
                    <td><input name=\"cognome\" type=\"text\" id=\"cognome\" /></td>
                  </tr>
                  <tr>
                    <td><div align=\"center\">Regione</div></td>
                   <td><select name=\"select\">";
    				
    		$query_regione ="SELECT * FROM regione  ORDER BY regione ASC";
    		$result_regione = mysql_query($query_regione,$db);
            while($row_regione = mysql_fetch_assoc($result_regione)) echo "<option value=$row_regione[id_regione]>$row_regione[regione]</option>";
    
    	  echo"</select></td>
                  </tr>
                  <tr>
                    <td><div align=\"center\">Mail</div></td>
                    <td><input name=\"mail\" type=\"text\" id=\"mail\" /></td>
                  </tr>
                  <tr>
                    <td><div align=\"center\">testo</div></td>
                    <td><textarea name=\"testo\" wrap=\"virtual\" id=\"testo\"></textarea></td>
                  </tr>
                  <tr>
                    <td><div align=\"center\">Tipologia Annuncio </div></td>
                    <td><select name=\"select\">";
    				
    		 $query_tipologia ="SELECT * FROM tipologia  ORDER BY tipologia ASC";
    		 $result_tipologia = mysql_query($query_tipologia,$db);
       		 while($row_tipologia = mysql_fetch_assoc($result_tipologia))echo "<option value=$row_tipologia[id_tipologia]>$row_tipologia[tipologia]</option>";
    
    	  echo"</select></td>
                  </tr>
                  <tr>
                    <td></td>
                    <td>		<div id=\"attachment\" style=\"display:none\">
    			 <input id=\"file\" name=\"file\" type=\"file\" size=\"55\" />
    			 <a href=\"#\" onclick=\"javascript:removeFile(this.parentNode.parentNode,this.parentNode);\"> Rimuovi</a>
    		</div>
    		<div id=\"attachments\">
    			
    <a id=\"addupload\" href=\"javascript:addUpload('file')\">Aggiungi Foto</a>
    
    
    			<input name=\"file[]\" type=\"file\" size=\"55\" />
    			<span id=\"attachmentmarker\"></span>	
    		</div>
    		<input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"".DIM_MASSIMA."\" />
    	
    				</td>
                  </tr>
                  <tr>
                    <td><div align=\"center\"></div></td>
                    <td>Autorizzo il trattamento dei dati personali ai sensi della Legge 675/96
    
                        <font size=\"1\" face=\"Verdana, Arial, Helvetica, sans-serif\">
                        <input type=\"radio\" name=\"trattamento\" value=\"si\" checked=\"checked\" />
                        <font class=\"content\">S&igrave;</font>
                        <input type=\"radio\" name=\"trattamento\" value=\"no\" />
                        <font class=\"content\">No</font></font></td>
                  </tr>
                  <tr>
                    <td><div align=\"center\"></div></td>
                    <td><div align=\"right\">
                        <input type=\"submit\" name=\"Submit\" value=\"Invia\" />
                    </div></td>
                  </tr>
                </table>
                        </form>
    		</body>
    		</html>\n";
    	}
    }
    ?>
    cosa puo' essere secondo voi?
    =LoD=
    Studio Arkaios
    Arkaios.it

  5. #5
    vi passo gli errori che mi da...

    Notice: Undefined variable: nome in /usr/local/jaguar/webdomains/cappuccetto-rosso.com/home/htdocs/upload.class.php on line 38

    Notice: Undefined variable: citta in /usr/local/jaguar/webdomains/cappuccetto-rosso.com/home/htdocs/upload.class.php on line 38

    Notice: Undefined variable: regione in /usr/local/jaguar/webdomains/cappuccetto-rosso.com/home/htdocs/upload.class.php on line 38

    Notice: Undefined variable: mail in /usr/local/jaguar/webdomains/cappuccetto-rosso.com/home/htdocs/upload.class.php on line 38

    Notice: Undefined variable: testo in /usr/local/jaguar/webdomains/cappuccetto-rosso.com/home/htdocs/upload.class.php on line 38

    Notice: Undefined variable: result_last in /usr/local/jaguar/webdomains/cappuccetto-rosso.com/home/htdocs/upload.class.php on line 42

    Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /usr/local/jaguar/webdomains/cappuccetto-rosso.com/home/htdocs/upload.class.php on line 42
    Hai caricato 1 file(s)

    FILE 1.jpg TRASFERITO!
    Notice: Undefined variable: result_last in /usr/local/jaguar/webdomains/cappuccetto-rosso.com/home/htdocs/upload.class.php on line 79
    =LoD=
    Studio Arkaios
    Arkaios.it

  6. #6
    i vari notice dovrebbero essere riferiti alla query:
    $query_annuncio = "INSERT INTO annunci (id_annuncio , nome, citta, regione, mail, data_inserimento, testo) VALUES ('', '$nome','$citta','$regione','$mail','$data_odierna ','$testo')";

    dove magari le variabili non sono definite, se per ogni variabile metti una cosa del genere (prima della query) dovresti risolvere:

    codice:
    $nome=($nome!='')?$nome:'';
    e l'altro warning ce l'hai a questa riga:
    $row_last = mysql_fetch_assoc($result_last);

    dove però non dichiari mai $result_last






    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  7. #7
    ho definito prima della query le var ma nada

    //define delle variabili
    $nome=($nome!='')?$nome:'';
    $citta=($citta!='')?$citta:'';
    $regione=($regione!='')?$regione:'';
    $mail=($mail!='')?$mail:'';
    $testo=($testo!='')?$testo:'';


    Notice: Undefined variable: nome in /usr/local/jaguar/webdomains/cappuccetto-rosso.com/home/htdocs/upload.class.php on line 39

    Notice: Undefined variable: citta in /usr/local/jaguar/webdomains/cappuccetto-rosso.com/home/htdocs/upload.class.php on line 40

    Notice: Undefined variable: regione in /usr/local/jaguar/webdomains/cappuccetto-rosso.com/home/htdocs/upload.class.php on line 41

    Notice: Undefined variable: mail in /usr/local/jaguar/webdomains/cappuccetto-rosso.com/home/htdocs/upload.class.php on line 42

    Notice: Undefined variable: testo in /usr/local/jaguar/webdomains/cappuccetto-rosso.com/home/htdocs/upload.class.php on line 43
    =LoD=
    Studio Arkaios
    Arkaios.it

  8. #8
    quello che nn riesco a capire è xkè nn passa le var che sono anche loro nel form...
    =LoD=
    Studio Arkaios
    Arkaios.it

  9. #9
    mi è venuto un dubbio...


    al posto del nome semplice, prova ad usare l'array $_POST:
    $nome=($_POST['nome']!='')?$_POST['nome']:'';


    ma le var relative ai files invece te le passa?






    p.s. bello fx il tuo studio! se per caso dovesse servirti qualcuno...
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  10. #10
    Originariamente inviato da 13manuel84
    mi è venuto un dubbio...


    al posto del nome semplice, prova ad usare l'array $_POST:
    $nome=($_POST['nome']!='')?$_POST['nome']:'';


    ma le var relative ai files invece te le passa?






    p.s. bello fx il tuo studio! se per caso dovesse servirti qualcuno...
    le var adesso me le passa...
    devo risonvere un'altro probl...

    cmq...ti è piaciuto los tudio allora?
    =LoD=
    Studio Arkaios
    Arkaios.it

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.