PHP képfeltöltés, elérési cím eltárolása MYSQL-ben
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:A képet és az adatokat feltöltő fájl tartalma (feltoltes.php):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!
■ 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:
<form action="feltoltes.php" method="post" enctype="multipart/form-data">
<label for="file">Fajl</label>
<input type="file" name="fajl" id="fajl" />
<br />
<textarea name="szoveg" cols="40" rows="6" id="szoveg"></textarea>
<br />
<input type="text" name="kep_cime" id="kep_cime" />
<br />
<input type="submit" name="submit" value="Submit" />
</form>
<?php
if ((($_FILES["fajl"]["type"] == "image/gif")
|| ($_FILES["fajl"]["type"] == "image/jpeg")
|| ($_FILES["fajl"]["type"] == "image/pjpeg"))
&& ($_FILES["fajl"]["size"] < 99999999))
{
if ($_FILES["fajl"]["error"] > 0)
{
echo "Kod: " . $_FILES["fajl"]["error"] . "<br />";
}
else
{
echo "Feltoltes: " . $_FILES["fajl"]["name"] . "<br />";
echo "Tipus: " . $_FILES["fajl"]["type"] . "<br />";
echo "Meret: " . ($_FILES["fajl"]["size"] / 1024) . " Kb<br />";
echo "Temp fajl: " . $_FILES["fajl"]["tmp_name"] . "<br />";
if (file_exists("upload/" . $_FILES["fajl"]["name"]))
{
echo $_FILES["fajl"]["name"] . " mar letezik. ";
}
else
{
move_uploaded_file($_FILES["fajl"]["tmp_name"],
"upload/" . $_FILES["fajl"]["name"]);
echo "Tarolva: " . "upload/" . $_FILES["fajl"]["name"];
}
}
}
else
{
echo "Hibas fajl";
}
$con = mysql_connect("localhost","valami","valami");
if (!$con)
{
die('Sikertelen csatlakozas: ' . mysql_error());
}
mysql_select_db("valami", $con);
$sql= "INSERT INTO Kepek (Szoveg,Kep_cime,Kep_eleres)
VALUES
('$_POST[szoveg]','$_POST[kep_cime]','upload/$_FILES['fajl']['name']')";
if (!mysql_query($sql,$con))
{
die('Hiba: ' . mysql_error());
}
mysql_close($con)
?>
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!
Próbáld ezt
Köszönöm szépen, ez működik!
Látod, az aposztrófokkal volt
Nem adott hibaüzenetet, le is
Gyanús, hogy az
Ha aposztrofálom, akkor nem
Mit jelent az, hogy
Azt, hogy a böngésző szerint