ugrás a tartalomhoz

PHP képfeltöltés, elérési cím eltárolása MYSQL-ben

attiss94 · 2011. Szep. 21. (Sze), 12.54
Sziasztok!
Megint hoztam egy -számomra- bonyolult kérdést. Arról van szó, hogy írtam egy scriptet, amely képet tölt fel a szerverre és egy adatbázisba elmenti a következő adatokat: kép címe, egy kis szöveg, melyet a kép alá lehet majd lekérni, és a kép elérési útja. Na ez engem kiakasztott, akármit csinálok nem szeretne működni... Ezért kérem a segítségeteket!

A FORM tartalma:
  1. <form action="feltoltes.php" method="post" enctype="multipart/form-data">  
  2.     <label for="file">Fajl</label>  
  3.     <input type="file" name="fajl" id="fajl" />  
  4.     <br />  
  5.     <textarea name="szoveg" cols="40" rows="6" id="szoveg"></textarea>  
  6.     <br />  
  7.     <input type="text" name="kep_cime" id="kep_cime" />  
  8.     <br />  
  9.     <input type="submit" name="submit" value="Submit" />  
  10. </form>  
A képet és az adatokat feltöltő fájl tartalma (feltoltes.php):
  1. <?php  
  2.   
  3. if ((($_FILES["fajl"]["type"] == "image/gif")  
  4. || ($_FILES["fajl"]["type"] == "image/jpeg")  
  5. || ($_FILES["fajl"]["type"] == "image/pjpeg"))  
  6. && ($_FILES["fajl"]["size"] < 99999999))  
  7.   {  
  8.   if ($_FILES["fajl"]["error"] > 0)  
  9.     {  
  10.     echo "Kod: " . $_FILES["fajl"]["error"] . "<br />";  
  11.     }  
  12.   else  
  13.     {  
  14.     echo "Feltoltes: " . $_FILES["fajl"]["name"] . "<br />";  
  15.     echo "Tipus: " . $_FILES["fajl"]["type"] . "<br />";  
  16.     echo "Meret: " . ($_FILES["fajl"]["size"] / 1024) . " Kb<br />";  
  17.     echo "Temp fajl: " . $_FILES["fajl"]["tmp_name"] . "<br />";  
  18.   
  19.     if (file_exists("upload/" . $_FILES["fajl"]["name"]))  
  20.       {  
  21.       echo $_FILES["fajl"]["name"] . " mar letezik. ";  
  22.       }  
  23.     else  
  24.       {  
  25.       move_uploaded_file($_FILES["fajl"]["tmp_name"],  
  26.       "upload/" . $_FILES["fajl"]["name"]);  
  27.       echo "Tarolva: " . "upload/" . $_FILES["fajl"]["name"];  
  28.       }  
  29.     }  
  30.   }  
  31. else  
  32.   {  
  33.   echo "Hibas fajl";  
  34.   }  
  35.     
  36. $con = mysql_connect("localhost","valami","valami");  
  37. if (!$con)  
  38.   {  
  39.   die('Sikertelen csatlakozas: ' . mysql_error());  
  40.   }  
  41. mysql_select_db("valami"$con);  
  42.   
  43. $sql= "INSERT INTO Kepek (Szoveg,Kep_cime,Kep_eleres)  
  44. VALUES  
  45. ('$_POST[szoveg]','$_POST[kep_cime]','upload/$_FILES['fajl']['name']')";  
  46.   
  47. if (!mysql_query($sql,$con))  
  48.   {  
  49.   die('Hiba: ' . mysql_error());  
  50.   }  
  51.   
  52. mysql_close($con)  
  53.   
  54. ?>  
Ilyenkor mindig ezt kapom vissza az adatbazisban:
Szoveg: valami ; Kep_cime: valami ; Kep_eleres: upload/Array[name]

Tisztában vagyok vele, hogy a feltöltő fájlban (méghozzá az INSERT részben) van a hiba, de nem tudom mit írjak oda, hogy a következő formátumban kapjam meg a fájl elérési útját: upload/fajl_neve.fajl_kiterjesztese.
A segítségeteket előre is köszönöm!
 
1

Próbáld ezt

gabesz666 · 2011. Szep. 21. (Sze), 13.45
Próbáld meg ezt:
  1. $sql"INSERT INTO Kepek (Szoveg,Kep_cime,Kep_eleres) VALUES ('{$_POST['szoveg']}','{$_POST['kep_cime']}', 'upload/{$_FILES['fajl']['name']}')";   
4

Köszönöm szépen, ez működik!

attiss94 · 2011. Szep. 21. (Sze), 13.54
Köszönöm szépen, ez működik! : ))))
6

Látod, az aposztrófokkal volt

Hidvégi Gábor · 2011. Szep. 21. (Sze), 13.56
Látod, az aposztrófokkal volt probléma. Kíváncsi vagyok, hogy az eredeti sorodra volt-e php hibaüzenet, és ha nem, akkor amiatt, mert php-ban le van tiltva, vagy pedig szintaktikailag helyes (bár szemantikailag nem).
7

Nem adott hibaüzenetet, le is

attiss94 · 2011. Szep. 21. (Sze), 14.03
Nem adott hibaüzenetet, le is futtatta a sort, csak az adatbázisban nem azt láttam, amit szerettem volna, mindenkinek köszönöm a segítséget! : )
2

Gyanús, hogy az

Hidvégi Gábor · 2011. Szep. 21. (Sze), 13.47
Gyanús, hogy az aposztrófokkal van probléma.
3

Ha aposztrofálom, akkor nem

attiss94 · 2011. Szep. 21. (Sze), 13.51
Ha aposztrofálom, akkor nem futtatja le a fájlt, csak a nagy fehérség az eredmény...
5

Mit jelent az, hogy

Hidvégi Gábor · 2011. Szep. 21. (Sze), 13.54
Mit jelent az, hogy aposztrofálod? Mi az, hogy nagy fehérség? Nincs hibaüzenet?
8

Azt, hogy a böngésző szerint

attiss94 · 2011. Szep. 21. (Sze), 14.04
Azt, hogy a böngésző szerint lefutott minden folyamat, és a végeredmény egy nagy fehér oldal, hibaüzenet nélkül.