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

    [ADOdb] Integrare più funzioni con una sola form

    Salve,

    sono alle prime armi con PHP e sto diventando pazzo per integrare un upload di una immagine insieme a un inserimento di testo. Questo non sarebbe un problema se uso PHP "normale", ma siccome è uno script già pronto e fa uso delle librerie ADOdb sono dei giorni che ci sto perdendo la testa senza trovare una soluzione... Ripeto... sono anche alle prime armi quindi sicuramente mi sta sfuggendo qualcosa

    Questo è il contenuto php del file inserisci.php che inserisce il testo nella tabella "appuntamenti":



    codice:
    <?       				$db = &ADONewConnection(CONF_DBTYPE); 				$db->PConnect(CONF_HOST,CONF_USER,CONF_PASS,CONF_DB); 				 				      	 	////////////////////////////////////////////////////////////////////// 	 	 	 	if(($_POST["submit"]) && ($_POST["azione"]=="invia")){ 	 		// UPLOAD IMG		 		$result = inserisci_immagine($_POST); 		 		$sql = "SELECT * FROM appuntamenti WHERE id_appuntamenti = -1"; 		$rs = $db->Execute($sql); 		 		$record = array(); 		while (list($chiave, $valore) = each($_POST)) { 		   $record[$chiave] = $valore; 		} 		 		//if($record['id_mesi']!="3"): $record['id_imm']="0"; endif; 		 		//upload img 		 		$record['data_inizio'] = inserisci_data($_POST['data_inizio']); 		$record['data_scadenza'] = inserisci_data($_POST['data_scadenza']); 		 		 		$insertSQL = $db->GetInsertSQL($rs, $record); 		$db->Execute($insertSQL); 		 	 			 		if($insertSQL){ 		$messaggio = 'Il record è stato inserito con successo.'; 		}else{ 		$messaggio = 'Attenzione: non è stato possibile inserire il record a causa di un errore.
    La preghiamo di riprovare.'; 		} 		 		echo '<script language="javascript" type="text/javascript">'; 		echo 'window.location.replace("?page=lista&modulo=appuntamenti");'; 		echo 'alert("'.$messaggio.'"); </script>'; 		 			 	}else{ 	  	 	$query_News = "SELECT MAX(pos) AS max_pos FROM appuntamenti"; 	$datiNews = $db->Execute($query_News); 	$max_pos = $datiNews->fields["max_pos"]+1; 	 	?>

    Questo il contenuto php del file upload.php :

    codice:
    <?        				$db = &ADONewConnection(CONF_DBTYPE); 				$db->PConnect(CONF_HOST,CONF_USER,CONF_PASS,CONF_DB); 				 				      	 	////////////////////////////////////////////////////////////////////// 	 	 	 	 	if(($_POST["submit"]) && ($_POST["azione"]=="invia")){ 	 	 	 		$result = inserisci_immagine($_POST); 		 		 		 		 	 	} 	  	  	?>
    Questo è l'include che chiama "upload" per ridimensionamento immagine, ecc... :

    codice:
    <?php      // funzione che crea un none univoco per la foto  function random_name($filename){ 	$firsts = rand(0,999); 	$seconds = rand(0,999); 	$thirds = rand(0,999); 	$fourths = rand(0,999);  	$rand = $firsts.$seconds.$thirds.$fourths.'_'.$filename; 	return $rand; }    // funzione che crea la thumbnail dalla foto function resizeImage($destinazione_img, $imgtype, $newwidth, $newheight, $filename, $quality, $destinazione){    list($width, $height) = getimagesize($destinazione_img.$filename); 	    if($width > $height && $newheight < $height){        $newheight = $height / ($width / $newwidth);    } else if ($width < $height && $newwidth < $width) {        $newwidth = $width / ($height / $newheight);        } else {        $newwidth = $width;        $newheight = $height;    }    // se è una jpeg     if(($imgtype=='image/pjpeg') || ($imgtype=='image/jpeg')){        $source=@imagecreatefromjpeg($destinazione_img.$filename);                // path to your gallery    $foto = imagecreatetruecolor($newwidth, $newheight);    // new image    imagecopyresampled($foto, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);    imagejpeg($foto, $destinazione.$filename , $quality);    // se è una gif        } else if($imgtype=='image/gif'){        $source=@imagecreatefromgif($destinazione_img.$filename);                // path to your gallery    $foto = imagecreatetruecolor($newwidth, $newheight);    // new image    imagecopyresampled($foto, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);    imagegif($foto, $destinazione.$filename , $quality);        } else if($imgtype=='image/x-png'){        $source=@imagecreatefrompng($destinazione_img.$filename);                // path to your gallery    $foto = imagecreatetruecolor($newwidth, $newheight);    // new image    imagecopyresampled($foto, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);    imagepng($foto, $destinazione.$filename , $quality);        } }   //////////////// UPLOAD FOTO E SALVA IN DB //////////////////////////////////////////////   function inserisci_immagine($post){   global $global, $db;     if($_FILES['file']['name'] != ""){               			$copy = false;             $types_array = array('image/gif','image/pjpeg','image/x-png');              $nome_originale =  $_FILES['file']['name']; 			$filename = preg_replace("/\s+/i", "_", $_FILES['file']['name']); 			$filename = preg_replace("/[^a-z0-9_.-]/i", "", $filename); 			$filename = preg_replace("/_+/i", "_", $filename); 			$filename = random_name($filename); 			$imgtype =  $_FILES['file']['type']; 			 			// individuo le dimensioni dell'img originale 			$imagesize = getimagesize($_FILES['file']['tmp_name']);             $imgwidth = $imagesize[0];             $imgheight = $imagesize[1]; 			 			$foto_caricata = copy($_FILES['file']['tmp_name'], $global["img_temp_dir"].$filename); 			  			// ci sono le funzioni x lavorare con le immagini? 			 			if (function_exists("imagegif")) { 			 $funzione_gif=1;             } else{  $funzione_gif=0; } 			 			if (function_exists("imagepng")) { 			$funzione_jpg=1; 			} else {  $funzione_jpg=0; } 			             if (function_exists("imagejpeg")) { 		    $funzione_png=1; 		    } else { $funzione_jpg=0; }             if(($funzione_gif==0) && ($imgtype==$types_array[0])){ 		   echo "attenzione, no gif"; 		   exit; 		   } 		   if(($funzione_jpg==0) && ($imgtype==$types_array[1])){ 		   echo "attenzione, no jpg"; 		   exit; 		   } 		   if(($funzione_png==0) && ($imgtype==$types_array[2])){ 		   echo "attenzione, no png"; 		   exit; 		   } 		    		    		   if(file_exists($global["img_temp_dir"].$filename)){             // ridimensiono la foto normale            $myimage_img = resizeImage($global["img_temp_dir"] , $imgtype, $global["img_w"] , $global["img_h"] , $filename, '100', $global["img_dir"]); 		    		   // ridimensiono la thumb            $myimage_th = resizeImage($global["img_temp_dir"], $imgtype, $global["img_th_w"] , $global["img_th_h"] , $filename, '100', $global["img_th_dir"]);  		    		    // ridimensiono la foto zoom            $myimage_zoom = resizeImage($global["img_temp_dir"], $imgtype, $global["img_zoom_w"] , $global["img_zoom_h"] , $filename, '100', $global["img_zoom_dir"]); 		     			 			unlink($global["img_temp_dir"].$filename); 			$copy = true; 			} 			 			 			// prima recupero le dimensioni delle immmagini 			$file_ext = substr($filename, -3); 			if(file_exists($global["img_dir"].$filename)): $file_size_img = getimagesize($global["img_dir"].$filename); endif; 			if(file_exists($global["img_th_dir"].$filename)):$file_size_th = getimagesize($global["img_th_dir"].$filename); endif; 			if(file_exists($global["img_zoom_dir"].$filename)):$file_size_zoom = getimagesize($global["img_zoom_dir"].$filename); endif; 			 			// salvo le immagini nel database 			 			    if($copy){ 			 					$sql = "SELECT * FROM appuntamenti WHERE id_appuntamenti = -1";  					$rs = $db->Execute($sql);  					$record = array(); 					 					while (list($chiave, $valore) = each($post)) { 						$record[$chiave] = $valore; 					} 					 					 		 					$record["nome_originale"] = $nome_originale ; 					$record["nome"] = $filename; 					$record["size"] = $file_size_img; 					$record["size_th"] = $file_size_th; 					$record["size_zoom"] = $file_size_zoom; 					$record["ext"] = $file_ext; 					$record["th_w"] = $file_size_th[0]; 					$record["th_h"] = $file_size_th[1]; 					$record["img_w"] = $file_size_img[0]; 					$record["img_h"] = $file_size_img[1]; 					$record["zoom_w"] = $file_size_zoom[0]; 					$record["zoom_h"] = $file_size_zoom[1]; 					$record["trash"] = '0'; 					$record["data"] = date("Y-m-d H:i:s"); 			 					$insertSQL = $db->GetInsertSQL($rs, $record);  		 					$db->Execute($insertSQL); 					 					$lastId = $db->Insert_ID(); 				 				 			    } 			  			} 			 			 			 			if($insertSQL && $lastId){              $return = "OK"; 			} else { 			 $return = "KO"; 			}  				 				 		    return $return;               }   ?>
    Io vorrei inglobare tutto nel file inserisci.php ma ho fatto molte prove includendo $result = inserisci_immagine($_POST); in ogni parte ma continua sempre a inserirmi solo l'insert del testo ma non quello dell'immagine...

    C'è qualche anima pia che può aiutarmi? Sicuramente è una stupidata per voi!

    Grazie
    Davide

  2. #2
    Scusate non so come mai ma sono partiti 2 post!
    Chiedo cortesemente di cancellarne uno.

    Grazie

  3. #3
    Capisco che non sia molto capibile così... lo posto in maniera più "leggibile".

    Non so come mai abbia formattato così!

    Ecco, posto il codice direttamente nel post così facciamo prima

    Grazie a chi vorrà aiutarmi.

    inserisci.php .................................................. .........................

    <?



    $db = &ADONewConnection(CONF_DBTYPE);
    $db->PConnect(CONF_HOST,CONF_USER,CONF_PASS,CONF_DB) ;




    //////////////////////////////////////////////////////////////////////



    if(($_POST["submit"]) && ($_POST["azione"]=="invia")){



    $sql = "SELECT * FROM news WHERE id_news = -1";
    $rs = $db->Execute($sql);


    $record = array();
    while (list($chiave, $valore) = each($_POST)) {
    $record[$chiave] = $valore;
    }

    if($record['id_cat']!="3"): $record['id_imm']="0"; endif;
    $record['data_inizio'] = inserisci_data($_POST['data_inizio']);
    $record['data_scadenza'] = inserisci_data($_POST['data_scadenza']);


    $insertSQL = $db->GetInsertSQL($rs, $record);
    $db->Execute($insertSQL);



    if($insertSQL){
    $messaggio = 'Il record è stato inserito con successo.';
    }else{
    $messaggio = 'Attenzione: non è stato possibile inserire il record a causa di un errore.
    La preghiamo di riprovare.';
    }

    echo '<script language="javascript" type="text/javascript">';
    echo 'window.location.replace("?page=lista&modulo=news" );';
    echo 'alert("'.$messaggio.'"); </script>';


    }else{



    $query_News = "SELECT MAX(pos) AS max_pos FROM news";
    $datiNews = $db->Execute($query_News);
    $max_pos = $datiNews->fields["max_pos"]+1;

    ?>


    upload.php .................................................. .................

    <?




    $db = &ADONewConnection(CONF_DBTYPE);
    $db->PConnect(CONF_HOST,CONF_USER,CONF_PASS,CONF_DB) ;




    //////////////////////////////////////////////////////////////////////




    if(($_POST["submit"]) && ($_POST["azione"]=="invia")){



    $result = inserisci_immagine($_POST);





    }




    ?>

    function_foto.php .................................................. ............

    <?php





    // funzione che crea un none univoco per la foto

    function random_name($filename){
    $firsts = rand(0,999);
    $seconds = rand(0,999);
    $thirds = rand(0,999);
    $fourths = rand(0,999);

    $rand = $firsts.$seconds.$thirds.$fourths.'_'.$filename;
    return $rand;
    }



    // funzione che crea la thumbnail dalla foto
    function resizeImage($destinazione_img, $imgtype, $newwidth, $newheight, $filename, $quality, $destinazione){
    list($width, $height) = getimagesize($destinazione_img.$filename);

    if($width > $height && $newheight < $height){
    $newheight = $height / ($width / $newwidth);
    } else if ($width < $height && $newwidth < $width) {
    $newwidth = $width / ($height / $newheight);
    } else {
    $newwidth = $width;
    $newheight = $height;
    }
    // se è una jpeg

    if(($imgtype=='image/pjpeg') || ($imgtype=='image/jpeg')){

    $source=@imagecreatefromjpeg($destinazione_img.$fi lename); // path to your gallery
    $foto = imagecreatetruecolor($newwidth, $newheight); // new image
    imagecopyresampled($foto, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
    imagejpeg($foto, $destinazione.$filename , $quality);
    // se è una gif

    } else if($imgtype=='image/gif'){

    $source=@imagecreatefromgif($destinazione_img.$fil ename); // path to your gallery
    $foto = imagecreatetruecolor($newwidth, $newheight); // new image
    imagecopyresampled($foto, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
    imagegif($foto, $destinazione.$filename , $quality);

    } else if($imgtype=='image/x-png'){

    $source=@imagecreatefrompng($destinazione_img.$fil ename); // path to your gallery
    $foto = imagecreatetruecolor($newwidth, $newheight); // new image
    imagecopyresampled($foto, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
    imagepng($foto, $destinazione.$filename , $quality);

    }
    }


    //////////////// UPLOAD FOTO E SALVA IN DB //////////////////////////////////////////////


    function inserisci_immagine($post){
    global $global, $db;


    if($_FILES['file']['name'] != ""){

    $copy = false;
    $types_array = array('image/gif','image/pjpeg','image/x-png');

    $nome_originale = $_FILES['file']['name'];
    $filename = preg_replace("/\s+/i", "_", $_FILES['file']['name']);
    $filename = preg_replace("/[^a-z0-9_.-]/i", "", $filename);
    $filename = preg_replace("/_+/i", "_", $filename);
    $filename = random_name($filename);
    $imgtype = $_FILES['file']['type'];

    // individuo le dimensioni dell'img originale
    $imagesize = getimagesize($_FILES['file']['tmp_name']);
    $imgwidth = $imagesize[0];
    $imgheight = $imagesize[1];

    $foto_caricata = copy($_FILES['file']['tmp_name'], $global["img_temp_dir"].$filename);


    // ci sono le funzioni x lavorare con le immagini?

    if (function_exists("imagegif")) {
    $funzione_gif=1;
    } else{ $funzione_gif=0; }

    if (function_exists("imagepng")) {
    $funzione_jpg=1;
    } else { $funzione_jpg=0; }

    if (function_exists("imagejpeg")) {
    $funzione_png=1;
    } else { $funzione_jpg=0; }

    if(($funzione_gif==0) && ($imgtype==$types_array[0])){
    echo "attenzione, no gif";
    exit;
    }
    if(($funzione_jpg==0) && ($imgtype==$types_array[1])){
    echo "attenzione, no jpg";
    exit;
    }
    if(($funzione_png==0) && ($imgtype==$types_array[2])){
    echo "attenzione, no png";
    exit;
    }


    if(file_exists($global["img_temp_dir"].$filename)){

    // ridimensiono la foto normale
    $myimage_img = resizeImage($global["img_temp_dir"] , $imgtype, $global["img_w"] , $global["img_h"] , $filename, '100', $global["img_dir"]);

    // ridimensiono la thumb
    $myimage_th = resizeImage($global["img_temp_dir"], $imgtype, $global["img_th_w"] , $global["img_th_h"] , $filename, '100', $global["img_th_dir"]);

    // ridimensiono la foto zoom
    $myimage_zoom = resizeImage($global["img_temp_dir"], $imgtype, $global["img_zoom_w"] , $global["img_zoom_h"] , $filename, '100', $global["img_zoom_dir"]);



    unlink($global["img_temp_dir"].$filename);
    $copy = true;
    }


    // prima recupero le dimensioni delle immmagini
    $file_ext = substr($filename, -3);
    if(file_exists($global["img_dir"].$filename)): $file_size_img = getimagesize($global["img_dir"].$filename); endif;
    if(file_exists($global["img_th_dir"].$filename)):$file_size_th = getimagesize($global["img_th_dir"].$filename); endif;
    if(file_exists($global["img_zoom_dir"].$filename)):$file_size_zoom = getimagesize($global["img_zoom_dir"].$filename); endif;

    // salvo le immagini nel database

    if($copy){

    $sql = "SELECT * FROM immagini WHERE id_imm = -1";
    $rs = $db->Execute($sql);
    $record = array();

    while (list($chiave, $valore) = each($post)) {
    $record[$chiave] = $valore;
    }



    $record["nome_originale"] = $nome_originale ;
    $record["nome"] = $filename;
    $record["size"] = $file_size_img;
    $record["size_th"] = $file_size_th;
    $record["size_zoom"] = $file_size_zoom;
    $record["ext"] = $file_ext;
    $record["th_w"] = $file_size_th[0];
    $record["th_h"] = $file_size_th[1];
    $record["img_w"] = $file_size_img[0];
    $record["img_h"] = $file_size_img[1];
    $record["zoom_w"] = $file_size_zoom[0];
    $record["zoom_h"] = $file_size_zoom[1];
    $record["trash"] = '0';
    $record["data"] = date("Y-m-d H:i:s");

    $insertSQL = $db->GetInsertSQL($rs, $record);

    $db->Execute($insertSQL);

    $lastId = $db->Insert_ID();


    }

    }



    if($insertSQL && $lastId){

    $return = "OK";
    } else {
    $return = "KO";
    }


    return $return;



    }


    ?>

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.