codice anziché img

emanuelevt

Utente Attivo
24 Giu 2009
298
0
0
Allora ragazzi premetto che una conversazione simile la avevo precedentemente aperta ma poi non ci ho messo mano da tanto tempo...

cmq per visualizzare come vedere e inserire img in mysql tramite php ho copiato il codice da una guida online... tutto funziona perfettamente, nel database l'img esiste i msg di conferma di corretto invio ci sono.. insomma il codice non può avere problemi... se non fosse per il fatto che al posto della img che vorrei visualizzare vedo una serie di questi simboli:

GIF89a˜‘÷ƒ¹æææÅÅÅ™™™†‹‹Ýî´ÝvËèÅáùæï÷™ÌÌL¶ÖÅãæuºÒ!—µî÷÷ÞæçÅØÞ£¬©ßðö4³ÝžÖ¼ÞæåìèQÇè>¥Á±ÈÏ´ÝçÖåçÖç÷2¼ð”ÎàÌÕÔñüÿçöøŒ“”¾åOÆí“Î ¤Üˆ·Ä[·Öµµµ"«à¯Ýæ*Õß½æõßæî™™™ÏÛÜçæîÅî÷‹ÏãÆæï3ÌÿL...e continuano...

che può essere?:book:
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Hai inviato gli header necessari? Se l'immagine è JPEG, prima di mostrarla, prima di qualunque output, devi scrivere:
PHP:
<?php
header('Content-type: image/jpeg');
// ...
?>
Per una GIF userai image/gif, per PNG invece image/png.
 

emanuelevt

Utente Attivo
24 Giu 2009
298
0
0
ti posto il codice (copiato)

questo è dove invio la pagina

Codice:
<?php 
// se è stato inviato il file...
if(isset($_POST['invia']))
{
	// se ci sono stati problemi nell'upload del file
	if(!isset($_FILES['file_inviato']) OR $_FILES['file_inviato']['error'] != UPLOAD_ERR_OK)
	mostra_form("errore nell'invio del file. Riprova");

	// connessione e selezione del database
	mysql_connect('localhost', 'root', '')
	or die('Connessione non riuscita: ' . mysql_error());

	if(!mysql_select_db('img'))
	die('Selezione database fallita!');

	// recupero alcune informazioni sul file inviato
	$nome_file_temporaneo = $_FILES['file_inviato']['tmp_name'];
	$nome_file_vero = $_FILES['file_inviato']['name'];
	$tipo_file = $_FILES['file_inviato']['type'];

	// leggo il contenuto del file
	$dati_file = file_get_contents($nome_file_temporaneo);

	// preparo il contenuto del file per la query
	$dati_file = addslashes($dati_file);

	// query per inserire il file nel DB
	$query = "INSERT INTO tabella_files SET
				nome_file = '$nome_file_vero', 
				tipo_file = '$tipo_file', 
				dati_file = '$dati_file'"; 

	mysql_query($query)
	OR die('Query non valida: ' . mysql_error());

	// mostro nuovamente il form ed un messaggio di successo
	mostra_form("Memorizzazione del file <b>$nome_file_vero</b> nel database eseguita correttamente.");
}
else
{
	mostra_form();
}

/**
* Mostra il form per l'upload del file 
* 
*/ 
function mostra_form($messaggio = '')
{
	?> 
	 
	<head> 
	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
	<title>Carica file nel database</title> 
	</head> 
	 
	<p><?php echo $messaggio?> <br /> Seleziona un file da memorizzare nel database: <p></p> 
	<form name="form1" enctype="multipart/form-data" method="post" action=""> 
	<p> 
	<input type="file" name="file_inviato"> 
	<p></p> 
	<p> 
	<input type="submit" name="invia" value="Invia file"> 
	<p></p> 
	</form> 
	 
	 
	<?php 
	exit();
}
?>

questo è dove ho l'elenco e dove passo gli id:

Codice:
<?php 
// connessione e selezione del database
mysql_connect('localhost', 'root', '')
or die('Connessione non riuscita: ' . mysql_error());

if(!mysql_select_db('img'))
die('Selezione database fallita!');

// query per ottenere l'elenco dei files nel DB
$query = "SELECT * FROM tabella_files";

$risultato = mysql_query($query)
or die('Query non valida: ' . mysql_error());

// se ci sono files nel DB
if(mysql_numrows($risultato))
{
	// estrazione dei risultati e stampa dei links ai files
	while ($tmp = mysql_fetch_array($risultato))
	{
		echo "<p><a href=\"mostra.php?id=$tmp[id_file]\">$tmp[nome_file]</a></p>\n";
	}
}
else
{
	echo '<p>Nessun file presente nel database</p>';
}
?>

e questo è dove la vorrei visualizzare:

Codice:
<?php 
// connessione e selezione del database
mysql_connect('localhost', 'root', '')
or die('Connessione non riuscita: ' . mysql_error());

if(!mysql_select_db('img'))
die('Selezione database fallita!');

// query per recuperare il file
$query = 'SELECT * FROM tabella_files WHERE id_file = '.$_GET['id'];
$risultato = mysql_query($query) or die('Query non valida: ' . mysql_error());
$tmp = mysql_fetch_array($risultato);

// invio una intestazione contenente il tipo MIME
header('Content-Type: '.$tmp['tipo_file']);

// invio il contenuto del file
echo $tmp['dati_file'];
?>

all'interno della cartella upload_img le img ci sono-- ma quando apro la pagina mostra.php mi esce quel casino...per puro caso non è che dipenda che la mia versione di php è la 4 e non la 5?
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
non è che il codice per la visualizzazione è inserito in una pagina con un'inclusione? Che browser usi?
 

emanuelevt

Utente Attivo
24 Giu 2009
298
0
0
allora ho provato anche a trasmettere tutto su il server di altervista ma anche online mi da lo stesso identico errore(cmq la mia versione di php è la PHP/5.2.10 con apache 2.0.63; quindi escludo che sia un problema in local - ho provato a visualizzare con opera il quale mi restituisce un piccolo riquadro con scritto immagine in mozilla mi sembra che invece mi dava il nome dell'immagine (ora nn ricordo bene).

i file li ho separati e quindi non sono inclusi (elenco.php - mostra.php - upload.php)

var_dump mi dice che è una stringa
 

MarcoGrazia

Utente Attivo
15 Dic 2009
852
20
28
62
Udine
www.stilisticamente.com
La versione del PHP non c'entra nulla dato che stiamo parlando di stringhe e non certo di chissà quali funzionalità.
PHP:
// invio una intestazione contenente il tipo MIME
header('Content-Type: '.$tmp['tipo_file']);

// invio il contenuto del file
echo "<img src=\"{$tmp['dati_file']}\" type=\"{$tmp['tipo_file']}\" />\n";
Prova un poco così?
Se no salvi $tmp['dati_file'] in un file temporaneo che visualizzi sempre con img e poi dopo gli dai un bel unlink() e lo cancelli. Ma rischi di ritrovarti l'hard disk pieno di file non cancellati se la gente dopo aver visto l'immagine chiude il browser e "spegne" lo script che non farà l'unlink sull'immagine creata.
 

emanuelevt

Utente Attivo
24 Giu 2009
298
0
0
niente o per meglio dire; l'img mi da una x in quanto probabilmente nn la trova all'internio della cartella - e dopo quella x mi da la solita serie di stringhe....

mi potete trasmettere i codici per catalogare e visualizzare img in database mysql che a voi funzionano (probabilmente faccio prima)?
 
Ultima modifica:
Discussioni simili
Autore Titolo Forum Risposte Data
M Analisi sito per pulire codice inutile HTML e CSS 1
JeiMax Modifica codice php personalizzato PHP 2
R Dubbi su siti sviluppati con Wordpress e con codice WordPress 6
L tipo boolean non funzionante su mariadb (mysql). E codice php 7.4. PHP 0
L Php_aggiornamento codice PHP 3
Shyson Codice wp-login non funziona PHP 2
G Codice html Javascript 1
Shyson Modificare codice e creare link PHP 0
F Il codice php è giusto? PHP 2
napuleone Con le date il codice da di matto o forse non è così Javascript 6
napuleone visualizzare il codice senza usare gli & HTML e CSS 1
Shyson Codice che trova item casuali PHP 1
E Barra di avanzamento codice PHP PHP 4
R [c#] Proteggere il codice dell'applicazione C/C++ 0
D modificare questo codice per inserimento in text e non in tabella jQuery 1
L salvare codice html in mysql PHP 3
A eliminare caratteri diacritici con codice ascii PHP 4
M Controllo del codice fiscale/partita iva PHP 11
Z Difficoltà codice data PHP 0
I PROBLEMA CODICE INSERTION SORT C C/C++ 2
I PROBLEMA CODICE C - INSERTION SORT Presentati al Forum 1
L login con solo un codice PHP 3
M Lanciare alert se il codice fiscale è già presente nel db e lasciare la scelta di inserire all'utente PHP 42
R Modifica codice per l'upload di più file PHP 1
gandalf1959 ricercare porzioni di codice da sito gestito con WordPress WordPress 11
D verifica codice fiscale persona fisica /aziendale stesso campo HTML e CSS 1
A Aprire la window form Add Connection da codice Visual Basic 4
felino [Wordpress] Sito web con codice malevolo WordPress 7
M [PHP] Istruzione "echo" all'interno di codice html PHP 2
C Refresh parte di codice pagina php PHP 6
Shyson [PHP] Aggiungere link al codice PHP 0
felino Domini hackerati con codice malevolo Hosting 2
A come spedire SMS da codice PHP con mdem USB PHP 0
M [PHP] Come inserire codice html in un ciclo while PHP 2
G Eseguire codice solo al termine della chiamata ajax Ajax 1
X [Apache] Creare sito clone/preservare codice sorgente Apache 7
felino [Dominio] File con permessi 444 e codice malevolo Domini 3
Shyson [PHP] Codice iscrizione e invio avviso nuovi articoli PHP 3
elpirata Implementare Copy to clipboard in codice html HTML e CSS 1
L [PHP] Problema su codice o server PHP 5
Shyson [PHP] Inserire testo nel codice PHP 2
Shyson [PHP] Nascondere codice PHP 3
H cancellare avatar in codice PHP PHP 2
G [PHP] Revisione codice per registrazione PHP 8
Shyson [WordPress] [PHP] Creare codice che evidenzia nuovi articoli WordPress 0
S [WordPress] Creare una select box con partita iva e codice fiscale in base a una logica. WordPress 0
M [PHP] Codice fiscale inverso PHP 3
P [HTML] Codice non funzionante su ZP HTML e CSS 1
A Conversione Codice da mysql a mysqli Database 1
J Prendere dati del database e metterli nel codice php PHP 1

Discussioni simili