• Home
  • Forum
  • Fare Web
  • PHP

codice anziché img

  • Creatore Discussione Creatore Discussione emanuelevt
  • Data di inizio Data di inizio 13 Gen 2010
  • Tag Tag
    php 6

emanuelevt

Utente Attivo
24 Giu 2009
298
0
0
  • 13 Gen 2010
  • #1
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
27
Roma
alessandro1997.netsons.org
  • 13 Gen 2010
  • #2
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
  • 13 Gen 2010
  • #3
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?
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
27
Roma
alessandro1997.netsons.org
  • 13 Gen 2010
  • #4
Intanto aggiorna la versione di PHP, visto che tra un po' siamo alla 6. E poi prova a fare un var_dump della variabile $tipo_file, per vedere che cosa restituisce.
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
  • 13 Gen 2010
  • #5
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
  • 14 Gen 2010
  • #6
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
853
21
28
63
Udine
www.stilisticamente.com
  • 15 Gen 2010
  • #7
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
  • 16 Gen 2010
  • #8
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: 16 Gen 2010
Devi accedere o registrarti per poter rispondere.

Discussioni simili

Q
[VENDO] App completa per Food Delivery – iOS + Android + Web Admin – Codice sorgente in vendita
  • qoode
  • 23 Mag 2025
  • Offerte e Richieste di Lavoro e/o Collaborazione
Risposte
0
Visite
339
Offerte e Richieste di Lavoro e/o Collaborazione 23 Mag 2025
qoode
Q
M
Analisi sito per pulire codice inutile
  • Marco Galli
  • 13 Mar 2023
  • HTML e CSS
Risposte
2
Visite
2K
HTML e CSS 25 Ott 2024
Christian95
C
  • Bloccata
Modifica codice php personalizzato
  • JeiMax
  • 11 Set 2022
  • PHP
Risposte
2
Visite
1K
PHP 12 Set 2022
Max 1
R
Dubbi su siti sviluppati con Wordpress e con codice
  • RobertaG
  • 3 Set 2022
  • WordPress
Risposte
6
Visite
20K
WordPress 5 Nov 2022
lavoroveneto
L
L
tipo boolean non funzionante su mariadb (mysql). E codice php 7.4.
  • luigi777
  • 18 Giu 2022
  • PHP
Risposte
0
Visite
810
PHP 18 Giu 2022
luigi777
L
L
Php_aggiornamento codice
  • lugalzaggesi
  • 23 Ott 2021
  • PHP
Risposte
3
Visite
2K
PHP 23 Ott 2021
migo80
M
Codice wp-login non funziona
  • Shyson
  • 11 Ago 2021
  • PHP
Risposte
2
Visite
1K
PHP 12 Ago 2021
Shyson
G
Codice html
  • giammy92
  • 25 Mag 2021
  • Javascript
Risposte
1
Visite
2K
Javascript 28 Mag 2021
iTonto
I
Modificare codice e creare link
  • Shyson
  • 5 Mag 2021
  • PHP
Risposte
0
Visite
1K
PHP 5 Mag 2021
Shyson
F
Il codice php è giusto?
  • Frachan
  • 19 Apr 2021
  • PHP
Risposte
2
Visite
1K
PHP 22 Apr 2021
luigi777
L
Con le date il codice da di matto o forse non è così
  • napuleone
  • 6 Feb 2021
  • Javascript
Risposte
6
Visite
1K
Javascript 13 Mar 2021
napuleone
visualizzare il codice senza usare gli &
  • napuleone
  • 18 Gen 2021
  • HTML e CSS
Risposte
1
Visite
2K
HTML e CSS 3 Ago 2021
Massimo Moretti
M
Codice che trova item casuali
  • Shyson
  • 5 Gen 2021
  • PHP
Risposte
1
Visite
2K
PHP 5 Gen 2021
marino51
E
Barra di avanzamento codice PHP
  • epag8
  • 4 Dic 2020
  • PHP
Risposte
4
Visite
2K
PHP 5 Dic 2020
Max 1
R
[c#] Proteggere il codice dell'applicazione
  • race
  • 28 Ott 2020
  • C/C++
Risposte
0
Visite
2K
C/C++ 28 Ott 2020
race
R
D
modificare questo codice per inserimento in text e non in tabella
  • Domenico2013
  • 22 Ott 2020
  • jQuery
Risposte
1
Visite
3K
jQuery 23 Ott 2020
Domenico2013
D
L
salvare codice html in mysql
  • luigithen
  • 10 Ott 2020
  • PHP
Risposte
3
Visite
3K
PHP 21 Ott 2020
ServWise.com
S
A
eliminare caratteri diacritici con codice ascii
  • AndreaCerre
  • 27 Lug 2020
  • PHP
Risposte
4
Visite
2K
PHP 27 Lug 2020
AndreaCerre
A
M
Controllo del codice fiscale/partita iva
  • Max61
  • 2 Lug 2020
  • PHP
Risposte
11
Visite
3K
PHP 2 Lug 2020
Hormus
H
Z
Difficoltà codice data
  • z.cristiano
  • 28 Mag 2020
  • PHP
Risposte
0
Visite
1K
PHP 28 Mag 2020
z.cristiano
Z
Condividi:
Facebook X (Twitter) LinkedIn WhatsApp e-mail Condividi Link
  • Home
  • Forum
  • Fare Web
  • PHP
  • Italiano
  • Termini e condizioni d'uso del sito
  • Policy Privacy
  • Aiuto
  • Home
Community platform by XenForo® © 2010-2024 XenForo Ltd. | Traduzione a cura di XenForo Italia
Menu
Accedi

Registrati

  • Home
  • Forum
    • Nuovi Messaggi
    • Cerca...
  • Novità
    • Featured content
    • Nuovi Messaggi
    • Ultime Attività
X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?

X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?