 |
Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Comunitatea PHP Romania
|
| 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 |
|
| |
|