Memorizzare un'immagine in db mysql

vodka

Utente Attivo
25 Giu 2010
128
0
0
nono, il percorso lo scrivo normalmente per salvarlo nel db ma poi quando lo salva, lo salva senza "\" e poi ovviamente quando estraggo i dati mi dà il percorso senza "\".
Il campo dell'immagine è di tipo text
 

vodka

Utente Attivo
25 Giu 2010
128
0
0
Ecco:
PHP:
<?php
	include 'config.php';
	$url="C:\Users\Public\Pictures\Sample Pictures\Pinguini.jpg";
	$titolo="Che bella giornata";
	$testo="Film realizzato dal celebre attore pugliese checco zalone che presenta le sue esilaranti avventure";
	$query= "INSERT INTO datifilm (foto, titolo, testo) VALUES ('$url', '$titolo', '$testo')";
	mysql_query($query) or die (mysql_error());
	mysql_close();
?>
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Ho capito. Il backslash è un carattere di escape, quindi se vuoi inserire un backslash in un campo di testo nel database dovrai usare la funzione addslashes per inserire un doppio backslash. Esempio:
PHP:
<?php
require 'config.php';

$url = 'C:\Users\Public\Pictures\Sample Pictures\Pinguini.jpg';
$titolo = 'Che bella giornata';
$testo = 'Film realizzato dal celebre attore pugliese checco zalone che presenta le sue esilaranti avventure';

// aggiungo i doppi backslash
$url = addslashes($url);

$query = "INSERT INTO datifilm (foto, titolo, testo) VALUES ('$url', '$titolo', '$testo')";
mysql_query($query) or die(mysql_error());

mysql_close();
?>
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
se stai lavorando in locale e (per ipotesi) tu abbia chiamato il file carica_foto.php e tu lo abbia salvato
nella cartella di apache www
dentro la www hai anche la cartella Sample Pictures con dentro la varie foto (non dare nomi con spazi)
PHP:
<?php 
    include 'config.php'; 
    $url="Sample Pictures/Pinguini.jpg"; //non mettere spazi chiamala Sample_Pictures
    $titolo="Che bella giornata"; 
    $testo="Film realizzato dal celebre attore pugliese checco zalone che presenta le sue esilaranti avventure"; 
    $query= "INSERT INTO datifilm (foto, titolo, testo) VALUES ('$url', '$titolo', '$testo')"; 
    mysql_query($query) or die (mysql_error()); 
?>
poi fai il file leggi_foto.php (come il seguente) e lo salvi sempre nella cartella www
PHP:
<?php 
    include 'config.php'; 
    $query="SELECT * FROM datifilm";
	$result=mysql_query($query);
	$riga=mysql_fetch_array($result);
	$url=$riga['foto'];
    $titolo=$riga['titolo'];
    $testo=$riga['testo'];
    echo "$titolo<br>";//stampi il titolo
	echo "<img src=\"$url\"><br>";//stampi la foto
	echo "$testo<br>";//stampi il testo
?>
comunque ti conviene tenere il nome della cartella separato e nel db mettere solo Pinguini.jpg.
poi nel file leggi_foto.php
imposti la cartella
PHP:
$path="Sample Pictures/";
e la concateni al nome
PHP:
$url=$path.$riga['foto'];
in questo modo puoi cambiare o utilizzare più cartelle
 

vodka

Utente Attivo
25 Giu 2010
128
0
0
ok così il percorso lo salvo correttamente risolvendo questo problema ma purrtoppo l'immagine continua a non visualizzarla...:confused:
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
se invece di usare la \ tu usassi la / non avresti bisogno di usare ne strip(tease) ne add. provare per credere.
se poi salvi nel db solo ed esclusivamente il nome del file immagine e aggiungi la cartella e la berra dopo: MEGLIO

p.s.
la / funzia sia su windows che su linux
 

vodka

Utente Attivo
25 Giu 2010
128
0
0
anke applicando la funzione stripslashes non cambia nulla anke xk poi il percorso ritorna sbagliato...cmq sia l'immagine non la visualizza e non è un riquadro con la x rossa ma un riquadro con un'immagine spezzata..
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
…ma un riquadro con un'immagine spezzata..
quindi è un problema di percorso (collegamento interrotto)
ripartiamo da 0
posta:
il percorso del file php che legge (dovrebbe) l’immagine, cioè se è questo
C:\Users\Public\visualizza_immagine.php
oppure
C:\Users\ visualizza_immagine.php
o qualche altra cosa

il percorso dell’immagine
che da quello che si capisce è questo
C:\Users\Public\Pictures\Sample Pictures\Pinguini.jpg

Giusto?
 

vodka

Utente Attivo
25 Giu 2010
128
0
0
allora il file che legge l'immagine si trova nella cartella htdocs (ora sono passato a xampp ma nn è questo il punto) quindi in E:\Program Files\xampp\htdocs\visualizzammagine.php

mentre il percorso dell'immagine è quello che hai postato tu.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
allora prova una cosa copia la cartella Sample Pictures e le immagini in htdocs
in modo che il percorso dell'immagine diventi

Files\xampp\htdocs\Sample Pictures\pinguino.jpg

poi correggi nel file che salva nel db (svuota la tabella prima)
PHP:
<?php
//....
$url=addslashes("Sample Pictures/Pinguini.jpg");
//....
?>
e in quello che visualizza
PHP:
<?php
//...
$titolo=stripslashes($riga['titolo']);
//....
?>
poi, pensandoci bene, i percorsi assoluti che dai tu
C:\Users\Public\Pictures\Sample Pictures\Pinguini.jpg

se lavori in locale dovrebbero essere del tipo:

http://localhost:8080/eccetera.....
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
ho fatto la tabella
CREATE TABLE `datifilm` (
`id` INT( 2 ) NOT NULL ,
`foto` VARCHAR( 250 ) NOT NULL ,
`titolo` VARCHAR( 250 ) NOT NULL ,
`testo` VARCHAR( 250 ) NOT NULL ,
PRIMARY KEY ( `id` )
) ENGINE = MYISAM ;
e mi sono creato la cartella Sample_Pictures e ci ho messo dentro la foto gatto.jpg
e ho fatto i due file php


carica.php
PHP:
<?php
    include 'config.php';  
    $url="Sample_Pictures/gatto.jpg"; //non mettere spazi chiamala Sample_Pictures 
    $titolo="Che bella giornata";  
    $testo="Film realizzato dal celebre attore pugliese checco zalone che presenta le sue esilaranti avventure";  
    $query= "INSERT INTO datifilm (foto, titolo, testo) VALUES ('$url', '$titolo', '$testo')";  
    mysql_query($query) or die (mysql_error());  
?>
vedifoto.php
PHP:
<?php  
	include 'config.php';  
    $query="SELECT * FROM datifilm"; 
    $result=mysql_query($query); 
    $riga=mysql_fetch_array($result); 
    $url=$riga['foto']; 
    $titolo=$riga['titolo']; 
    $testo=$riga['testo']; 
    echo "$titolo<br>";//stampi il titolo 
    echo "<img src=\"$url\"><br>";//stampi la foto 
    echo "$testo<br>";//stampi il testo 
?>
e questo è il risultato.
risultato.jpg

quello che intendo

http://localhost:8080/cartella_prove/vedifoto.php

è il percorso assoluto che devi dare al tuo bw per vedere la/le pagine
analogamente al posto di
Sample_Pictures/gatto.jpg
avrei potuto mettere
http://localhost:8080/cartella_prove/Sample_Pictures/gatto.jpg

il bw che legge non conosce c:
 
Discussioni simili
Autore Titolo Forum Risposte Data
M Memorizzare i dati nei campi prima dell'invio al db PHP 4
M Leggere il contenuto di una cartella e memorizzare il nome file in mysql PHP 1
V [PHP] Memorizzare scelte select in db e leggerle PHP 6
P Problema: come memorizzare il contenuto visualizzato di un dvd PHP 6
1 Memorizzare il valore di una checkbox e stamparlo su un'altra pagina! Javascript 4
S memorizzare elemento jQuery 1
S php memorizzare l indirizzo ip quando uno si registra PHP 4
P Problema: come far leggere unintero dvd da php e memorizzare il suo contenuto ???? PHP 38
C Meglio memorizzare alcuni parametri in $_SESSION o fare richieste al database? PHP 6
D AJAX - Si possono memorizzare i risultati delle richieste in una qualche cache? Javascript 8
S Memorizzare nome file allegato da form registrazione PHP 1
zighy memorizzare gli elementi di un drag n drop Javascript 4
P Come memorizzare le immaggino con selezione multipla PHP 2
neo996sps Tutorial sito multilingua: come memorizzare e riutilizzare selezione tramite cookie PHP 2
F Memorizzare valore variabile da una funzione javascript Javascript 10
A Memorizzare valori di più select PHP 1
R Progettare BDD per memorizzare schemi relazionali Database 0
I [javascript] memorizzare selezioni di un campo select di un modulo Javascript 1
X Memorizzare i dati se c'è un errore PHP 2
purno Non memorizzare sul pc una pagina web: HTML e CSS 0
F Aiuto! cambio immagine di sfondo al cambio pagina HTML e CSS 2
gara1 inserire immagine di sfondo in canvas Javascript 0
T Dividere un'immagine in 3 parti orizzontali e salvarle separatamente Photoshop 2
W Immagine come maschera photoshop Photoshop 1
L Ultima immagine Windows e Software 0
A Immagine decentrata con sfondo trasparente Photoshop 0
A Scontornare immagine di bassa qualità. Photoshop 2
B Selezionare un'immagine e salvare la selezione Photoshop 3
F Immagine come fosse selezione attiva Photoshop 1
Y Percorso assoluto file immagine HTML e CSS 9
K Come posso usare un'immagine al posto di un bottone? HTML e CSS 2
M Upload immagine con javascript problemi con FormData() Javascript 1
M Visulizzare immagine con php PHP 8
Stex1967 Salvare una immagine che si trova su porta TCP 8080 di altro sito PHP 7
L Come caricare un'immagine in Canvas dinamicamente Javascript 0
R Cambiare il nome dell'immagine dopo caricamento ftp HTML e CSS 0
L salvare una immagine elaborata in canvas Javascript 1
L salvare una immagine elaborata in canvas Javascript 1
Y Come caricare e visualizzare un'immagine PHP 0
S Testo scrolla su immagine che cambia HTML e CSS 0
M Quando ha l'immagine ingrandita è possibile fare rotazione per ritagliare? Photoshop 0
R Caricamento immagine su cartella remota + mysql PHP 3
R Non riesco a rinnovare l'immagine di sfondo PHP 1
R Non riesco a cambiare l'immagine di sfondo PHP 4
L Upload di un'immagine all'interno di un database usando php PHP 6
G Modifica immagine di sfondo attraverso un bottone PHP 18
F photoshop portable : spostamento immagine Photoshop 0
A Server Apache immagine not found (ERROR 404) Apache 5
P [Photoshop] ritagliare una immagine Photoshop 1
S [PHP] Recupero nome immagine da Form con input file PHP 3

Discussioni simili