Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc
Comunitatea PHP Romania
 

introducere imagini in db
Vezi mesajul original

 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> MySQL
Subiectul anterior :: Subiectul următor  
Autor Mesaj
sorin_pol_76



Data înscrierii: 02/Iun/2008
Mesaje: 50

Trimis: Vin Iul 04, 2008 9:19 am    Titlul subiectului: introducere imagini in db  

Buna! am urmatoarea problema: vreau sa introduc fotografii intr-un db si vreau sa fie inregistrata doar calea. am gasit un tutorial dar imi da o eroare
asta e codul
Cod:
<?php
    $localhost="localhost";
    $user="root";
    $parola="";
    $db="test";
    $conect=mysql_connect($localhost,$user,$parola)or die
        ('Nu se poate conecta'.mysql_error());
   
     $file = $_FILES['fisier'];
     $path = ".programul_bic/img/";
     if(is_uploaded_file($file['tmp_name']))
     {
         copy($file['tmp_name'],$path . $file['name']);
         $desc = $_POST['desc'];
         mysql_select_db($db,$conect);
         $sql = "insert into $tabel values('','$path.{ $file['name'] }', '$desc');";
         mysql_query($sql);
     }
     else
         echo "<b>Error: </b>Fisierul nu s-a uploadat!<br>\n";
     ?>
<form enctype="multipart" method="POST">
Imagine:<input type="file" name="fisier"><br>
Descriere: <textarea name="desc"></textarea>
<input name="introducere" type="submit">
</form>

si asta e eroarea care mi-o afiseaza:

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in D:\foto.php on line 16


e mai bine sa stochez fotografiile in db cu metoda blob?
fotografiile n-ar avea mai mult de 250kb dar sunt in jur de vreo 3000 si ar putea creste nr.
multumesc!
Sus  
mihaitha



Data înscrierii: 04/Mai/2007
Mesaje: 1757
Locație: Sibiu

Trimis: Vin Iul 04, 2008 9:58 am    Titlul subiectului:  

Cand incapsulezi variabile de tip array element in string-uri, nu mai lasa spatii dupa {, respectiv inainte de }.

Codul tau (gresit):
Cod: $sql = "insert into $tabel values('','$path.{ $file['name'] }', '$desc');";

Codul corect:
Cod: $sql = "insert into $tabel values('','$path{$file['name']}', '$desc');";

Observi diferenta? (btw, si punctul de dupa $path era in plus)
Sus  
sorin_pol_76



Data înscrierii: 02/Iun/2008
Mesaje: 50

Trimis: Vin Iul 04, 2008 8:26 pm    Titlul subiectului:  

am modificat unde am gresit dar apare o alta problema...
imi pune fisierul pe calea selectata dar nu introduce nimic in db.
baza de date are campurile id, img, desc, int, varchar(60),varchar(60).
aici e interogarea:
Cod:
$sql = "insert into poze(id,img,desc) values('','$path{$file['name']}', '$desc');";
Sus  
scorpiogeo



Data înscrierii: 21/Mai/2008
Mesaje: 1

Trimis: Sâm Iul 05, 2008 9:31 am    Titlul subiectului:  

Uite un tutorial despre cum sa inserezi in baza de date numele imaginilor sau a fisierelor. Acest tutorial este foarte simplu, el este facut pentru ati da seama cum se salveaza numele unui fisier in baza de date.Nu trebuie folosit in site-uri exact asa cum este, deoarece se pot urca pe server si fisierele nedorite. Prima data creezi un tabel in baza de date(sau adaugati intr-un tabel deja creat : imagine VARCHAR(30) )
Cod: CREATE TABLE phpromania (
`id` int(11) NOT NULL auto_increment,
imagine VARCHAR(30)
PRIMARY KEY  (`id`));
Acum creem fisierul upload.html :
Cod: <form enctype="multipart/form-data" action="upload.php" method="POST">
Imaginea: <input type="file" name="imagine"><br>
<input type="submit" value="Upload">
</form>
Acum fisierul upload.php
Cod: <?php
require('config.php');

//Acesta este folderul unde se vor salva imaginile
$target = "imagini/";
$target = $target . basename( $_FILES['imagine']['name']);

//Luam numele imagini dintr-un formular si il atribuim unei variabile
$pic=($_FILES['imagine']['name']);

//Acum introducem numele imagini in baza de date
mysql_query("INSERT INTO phpromania (id,  imagine) VALUES(0, '$pic',");

//Uploadeaza imaginea pe server
if(move_uploaded_file($_FILES['imagine']['tmp_name'], $target))
{

//Afiseza daca imaginea a fost urcata pe server cu succes
echo "Imaginea a fost uploadata cu succes";
}
else {

//Arata erori daca nu s-a putut uploada
echo "Ne pare rau, dar imaginea nu a putut fi urcata pe server";
}
?>
Si ultimul fisier afisare.php:
Cod: <?php
require('config.php');

//Scoaterea,sa zic asa, a numelor din baza de date
$data = mysql_query("SELECT * FROM fabricadebani") or die(mysql_error());

while($info = mysql_fetch_array( $data ))
{
//Afisarea imaginilor
Echo "<img src=\"/imagini/{$info['imagine']}\"> <br>";
}
?>
Sper ca ai inteles si ai rezolvat problema
Sus  
sorin_pol_76



Data înscrierii: 02/Iun/2008
Mesaje: 50

Trimis: Lun Iul 07, 2008 7:06 pm    Titlul subiectului:  

multumesc ptr tutorialul trimis de scorpiogeo. l-am studiat si am reusit sa rezolv problema mea. [/code]
Sus  
universul



Data înscrierii: 19/Iul/2008
Mesaje: 1

Trimis: Sâm Iul 19, 2008 12:16 pm    Titlul subiectului: raspuns  

scorpiogeo a scris: Uite un tutorial despre cum sa inserezi in baza de date numele imaginilor sau a fisierelor. Acest tutorial este foarte simplu, el este facut pentru ati da seama cum se salveaza numele unui fisier in baza de date.Nu trebuie folosit in site-uri exact asa cum este, deoarece se pot urca pe server si fisierele nedorite. Prima data creezi un tabel in baza de date(sau adaugati intr-un tabel deja creat : imagine VARCHAR(30) )
Cod: CREATE TABLE phpromania (
`id` int(11) NOT NULL auto_increment,
imagine VARCHAR(30)
PRIMARY KEY  (`id`));
Acum creem fisierul upload.html :
Cod: <form enctype="multipart/form-data" action="upload.php" method="POST">
Imaginea: <input type="file" name="imagine"><br>
<input type="submit" value="Upload">
</form>
Acum fisierul upload.php
Cod: <?php
require('config.php');

//Acesta este folderul unde se vor salva imaginile
$target = "imagini/";
$target = $target . basename( $_FILES['imagine']['name']);

//Luam numele imagini dintr-un formular si il atribuim unei variabile
$pic=($_FILES['imagine']['name']);

//Acum introducem numele imagini in baza de date
mysql_query("INSERT INTO phpromania (id,  imagine) VALUES(0, '$pic',");

//Uploadeaza imaginea pe server
if(move_uploaded_file($_FILES['imagine']['tmp_name'], $target))
{

//Afiseza daca imaginea a fost urcata pe server cu succes
echo "Imaginea a fost uploadata cu succes";
}
else {

//Arata erori daca nu s-a putut uploada
echo "Ne pare rau, dar imaginea nu a putut fi urcata pe server";
}
?>
Si ultimul fisier afisare.php:
Cod: <?php
require('config.php');

//Scoaterea,sa zic asa, a numelor din baza de date
$data = mysql_query("SELECT * FROM fabricadebani") or die(mysql_error());

while($info = mysql_fetch_array( $data ))
{
//Afisarea imaginilor
Echo "<img src=\"/imagini/{$info['imagine']}\"> <br>";
}
?>
Sper ca ai inteles si ai rezolvat problema

Fain explicat, chiar mia fost de ajutor.
Poate cineva sa explice la fel de frumos si o functie de control a acestor imagini..gen administratie(stergere, modif...).
Sus  
PHPRomania Bot
Bot Member


Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google
Trimis: Mie Dec 26, 2007 7:01 pm   Titlul subiectului: Ad  

Sus  
 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> MySQL
Pagina 1 din 1


Powered by phpBB 2.0.22 © 2001, 2002 phpBB Group
Varianta în limba română: Romanian phpBB online community