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

    immagini, area privata e database

    Ciao,
    ho fatto un'area privata di un sito in php e (strano ma vero) funziona tutto (aggingo/tolgo/modifico recordset nel db) ora il mio problema sono le imgs.

    Mi spiego meglio, ho una serie di prodotti e ogni prodotto ha delle caratteristiche e una sua img che si dovrebbe vedere quando io clicco sul link "foto" (che devo ancora fare), ma non ho la minima idea di come fare ad inserire le foto nel db. Immagino che dovrei avere una cartella apposita dove salvare tutte le imgs e scivermi poi nel db il loro nome e percorso, ma non so nemmeno da che parte iniziare. AIUTO!

    Poi ovviamente dovrei poter togliere/mettere/modificare le foto dei prodotti nell'area privata.

    Come potrei fare tutto ciò?

    grazie mille,
    paola

  2. #2
    Utente di HTML.it L'avatar di Inoki
    Registrato dal
    Oct 2001
    Messaggi
    788

    Re: immagini, area privata e database

    Originariamente inviato da dg_paola
    Ciao,
    ho fatto un'area privata di un sito in php e (strano ma vero) funziona tutto (aggingo/tolgo/modifico recordset nel db) ora il mio problema sono le imgs.

    Mi spiego meglio, ho una serie di prodotti e ogni prodotto ha delle caratteristiche e una sua img che si dovrebbe vedere quando io clicco sul link "foto" (che devo ancora fare), ma non ho la minima idea di come fare ad inserire le foto nel db. Immagino che dovrei avere una cartella apposita dove salvare tutte le imgs e scivermi poi nel db il loro nome e percorso, ma non so nemmeno da che parte iniziare. AIUTO!

    Poi ovviamente dovrei poter togliere/mettere/modificare le foto dei prodotti nell'area privata.

    Come potrei fare tutto ciò?

    grazie mille,
    paola
    Ti basta mettere in un campo del DB il percorso dell'immagine.
    Es. le tue immagini sono conservate dentro la cartella "images/foto" per ogni foto metti nel campo del db:
    codice:
    images/foto/pippo.jpg
    images/foto/dir/pluto.jpg
    ...
    In questo modo puoi mettere anche eventuali sottodirectory.
    A questo punto per far vedere l'immagine sulla pagina php, ti basta recuperare il valore di questo campo DB, e fai conto la salvi nella variabile $immagine a questo punto è molto semplice ti basta aggiungere:
    codice:
    [img]<?PHP echo $immagine;?>[/img]
    Oppure puoi mettere nel campo immagine (se prevedi che le foto vengano messe tutte insieme) solo il nome dell'immagine e scrivere qualcosa del tipo:
    codice:
    [img]images/foto/<?PHP echo $immagine;?>[/img]
    Per quanto riguarda le modifiche, ti basta fare un script con l'update sul campo immagine del DB, e ricordarti di caricare l'immagine per evitare la X rossa...

    Spero sia stato chiaro...
    Ciao ciao
    "La teoria è quando si sa tutto e niente funziona. La pratica è quando
    tutto funziona e nessuno sa il perché. In questo caso, abbiamo messo
    insieme la teoria e la pratica: non c'è niente che funziona... e nessuno sa
    il perché!" (Albert Einstein)

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    209
    Spero di spiegarmi. Molto utile quello che hai detto.
    Ma io avrei un'esigenza in più....
    Io tengo un sito internet di pallavolo, e oltre all'inserimento di news, forum, gallery,... Mi hanno chiesto se è possibile fare per ogni atleta una specie di carta d'identità, con nome, ruolo, giocatrice preferita, ... Ora sorge il problema, lasciando perdere la creazione di una tabella (il mio provider mi consente solo un DB), con i vari campi mi serviva proprio la questione dell'immagine di ogni atleta. Con questo topic l'ho risolta.
    Ora però devo consentire non solo a me ma anche agli altri utenti di inserire le atlete (all'attivo sono più di 50). Lasciando perdere l'upload nella directory dell'immagine dell'atleta, come faccio a creare un campo "cerca" nella directory sullo spazio web per selezionare il percorso immagine di quell'atleta? Oppure non c'è un modo migliore per fare tutto ciò? Premetto che non mi posso permettere di inserire interi files nel database.
    Spero di essere stato chiaro!

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    555
    $sqlIns = "insert into $Testa (Foto)" ;
    $sqlIns .=" values('../Immagini/".$_POST['txtFoto']."')";

    Io per una cosa del genere ho risolto così, inserivo d'ufficio il percorso dell'immagine e facevo inserire il nome della foto all'utente.

    Ciao

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    209
    Vediamo se ho capito il codice, la prima riga serve per l'inserimento, la seconda per l'indirizzamento a quella cartella. :master: Ma scusami ancora... [txtFoto] a cosa serve?

  6. #6
    SQL
    codice:
    CREATE TABLE files (
      _file_id int(11) NOT NULL auto_increment,
      _file_name varchar(255) default NULL,
      _file_size tinyint(11) unsigned default NULL,
      _file_type varchar(255) default NULL,
      _file_blob blob,
      PRIMARY KEY  (_file_id),
      UNIQUE KEY _id (_file_id)
    ) TYPE=MyISAM;
    pagina php
    codice:
    <?php
    
    	@mysql_connect( "server", "user", "pass" ) or die("connessione al server fallita");
    	@mysql_select_db( "nome_database" ) or die("selezione del database fallita");
    
    	function sql( $SQL ) {
    		$Q = mysql_query( $SQL ) or die( " si sono verificati degli errori.<hr />". $SQL );
    		return $Q;
    	}
    
    if ( isset( $HTTP_POST_FILES['upload_file'] ) ) {
    
    	$file_name 		= $HTTP_POST_FILES['upload_file']['name'] ;
    	$file_size 		= $HTTP_POST_FILES['upload_file']['size'] ;
    	$file_type 		= $HTTP_POST_FILES['upload_file']['type'] ;
    	$file_tmp_name 		= $HTTP_POST_FILES['upload_file']['tmp_name'] ;
    	$file_blob 		= addslashes( fread( fopen( $file_tmp_name , "r") , filesize( $file_tmp_name )));
    
    	if ( substr( $file_type , 0 , strlen( "image/" ) ) == "image/" ) {
    		$file_dim	 	= getimagesize( $file_tmp_name );
    		$file_width = $file_dim[0];
    		$file_height = $file_dim[1];
    	}
    
    	sql( " INSERT INTO files ( 
    	`_file_id`, 
    	`_file_name`, 
    	`_file_type`, 
    	`_file_size`, 
    	`_file_blob` 
    	) VALUES ( NULL, 
    	'". $file_name ."', 
    	'". $file_type ."', 
    	 ". $file_size .", 
    	'". $file_blob ."'
    	) " );
    	
    	$Q = sql( " SELECT * FROM files WHERE _file_name = '". $file_name ."' AND _file_size = ". $file_size ." LIMIT 0,1 " );
    	if ( mysql_num_rows( $Q ) == 1 ) {
    		$file = mysql_fetch_array( $Q );
    		page_item_add( 'File Caricato', 'il file è stato caricato correttamente sul portale', '' , '
    		<div class="fcenter" >[img]'. $_SERVER['PHP_SELF'] .'?file='. $file['_file_id'] .'[/img]</div>
    		<br class="clear" />
    		' , '#FFFFCC' , '' );
    		unset( $file );
    	}
    	unset( $Q );
    
    	unset( $file_width );
    	unset( $file_height );
    	unset( $file_name );
    	unset( $file_size );
    	unset( $file_type );
    	unset( $file_tmp_name );
    	unset( $file_blob );
    
    	if ( isset( $file_type ) ) { unset( $file_dim ); }	
    
    } else {
    
    	if ( isset( $_GET['file'] ) ) {
    
    		if (!get_magic_quotes_gpc()) {
    			$file = addslashes( $GET['file'] );
    		} else {
    			$file = $GET['file'] ;
    		}
    
    		$Q = sql( " SELECT * FROM files WHERE _file_id = '". $file ."' LIMIT 0,1 " );
    		if ( mysql_num_rows( $Q ) == 1 ) {
    			$file = mysql_fetch_array( $Q );
    
    header("Content-type: ". $file['_file_type'] );
    header("Content-Disposition: attachment; filename=". $file['_file_name'] );
    echo $file['_file_blob'] ;
    unset( $file );
    @mysql_close();
    exit;
    		}
    		unset( $Q );
    
    	} else {
    
    	echo '
    <form enctype="multipart/form-data" action="'. $_SERVER['PHP_SELF'] .'" method="post" >
    <div >Inserisci il file da archiviare </div>
    <label for="upload_file" ><tt class="fleft" >File </tt><input id="upload_file" name="upload_file" type="file" title=" seleziona il file da caricare " value="" class="fright" /><br class="clear" /></label>
    <label for="upload_submit" ><input type="submit" id="upload_submit" value=" Carica File " /></label>
    </fieldset>
    </form>';
    	}
    }
    
    ?>
    Totò, vero ma strano
    www.ateicos.com

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    555
    txtFoto è il nome del campo del form, dove l'utente inserisce il nome della foto.

    Ciao

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    209
    bene, grazie, ora ci provo e vi faccio sapere!

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 © 2024 vBulletin Solutions, Inc. All rights reserved.