Fájl feltöltés PHP-vel
Van egy HTML urlapom. Az egyik mezo fajl tipusu es ki tudok valasztani egy fajlot a geprol.Most azt szeretnem ha ezt a fajlot elraktarozna egy altalam keszitet folderbe submit gomb megnyomasa utan. Es a fajl nevet is jo lenne ha megkapnam, szeretnem adatbazisba beirni. Milyen PHP fuggvenyt kell hasznalni ?
Koszonom!
■ <input type="file" name="pozaprod" size="30" />
Koszonom!
php.net a barátod
Sőt, még elérhető magyarul is:
http://www.php.net/manual/hu/features.file-upload.php
Teljeskörű leírás a témában, Te is megtalálhattad volna...
kerdes
Warning: move_uploaded_file(../images/produse/bg2.gif) [function.move-uploaded-file]: failed
to open stream: Permission denied in /home/prograro/public_html/licenta/admincp/addprod.php on line 52
Hogy lehetne ezt megoldani?
Koszonom!
Értelmezd
koszi!
chmod
Újratöltés
Nekem müködik a fájlfeltöltés, viszont van egy probléma ami nagyon zavar. Az űrlapot úgy csináltam meg, hogy vannak kötelező kitöltendő mezők és ha az illető azt nem adja meg, vagyis nem tölti ki, akkor a Küldés gomb lenyomása után a űrlap újból betöltődik, és kiir egy hibaüzenetet, hogy a kötelező mezőket ki kell tölteni, és azokat meg is jelöli. Persze a már kitöltöt mezők értekeit vissza hozza, igy nem kell a felhasználónak újra beirnia. Na itt a kérdés lényege: hogy lehet azt megcsinálni, hogy ilyen esetben a már kiválasztott fájlokat, amik a Küldés gomb hatására fel kellene töltődjenek, ne kelljen újra kiválasztani.
Új téma
hidden
mezőjébe. Ezután mársession
-ben össze tudod kötni aform
-ot és a feltöltött fájlt. És ha már itt tartunk, akkor rejtsd el a feltöltés mezőt, és helyette írd ki a feltöltött fájl nevét.Összefoglalva:
Elmented a feltöltött fájlt. A fájl feltöltés mező helyére kiírod a fájl nevét. Beraksz egy rejtett mezőt ami utal az ideiglenesen feltöltött fájlra (akár egy egyedi session változóval vagy mással.)
URL upload
Nekem fájlfeltöltésre lenne szükségem... vagyis képfájlok feltöltésére amit megoldanék ha gépről kellene mert arra találtam rengeteg kódot viszont nekem ún. URL uploadra lenne szükségem, azaz egy kép linket adnának meg egy formon belül és annak értékét letölteni egy szerveren lévő könyvtárba + egyedi névvel látná el.
Kezdő PHP-s vagyok. Találtam egy kódot ami jónak bizonyult a gyakorlatban viszont fejlesztésre szorul.
$filename=time();
if ($_GET[xfer]) {
if ($_POST[from] == "") {
print "You forgot to enter a url.";
} else {
copy("$_POST[from]", "$_POST[to]");
$size = round((filesize($_POST[to])/1000000), 3);
print "transfer complete.<br>
<a><a href=\"$_POST[from]\">$_POST[from]</a><br>
<a><a href=\"$_POST[to]\">$_POST[to]</a> : $size MB";
}
} else {
print "<form action=\"$PHP_SELF?xfer=true\" method=post>
from(http://): <input name=from>
<input type= hidden value=$filename.jpg name=to><br>
<input type=submit value=\"transload\">";
}
?>
Egy kicsit már belenyúltam, mert alapjában meg kellett adni egy második input mezőben, hogy mi legyen a fájl neve, és azt rejtettem el és beleírattam a time függvény értékét és h .jpg.
Ez így azér elég primitív. A probléma vele az, hogy egyáltalán nincs korlát, így ha egy 1 gb-s fájlt tallóznak bele, azt is megpróbálja áthúzni a szerverre. Ezt kellene orvosolni, azt hogy csak KÉP kiterjesztéseket engedjen és hogy egy adott könyvtárba mentse a képet, ne pedig oda ahol épp a php fájl van.
Meg még van kérdésem ám :)
Már van egy beküldő formom amiben igazából most megvan a mező annak ahova a képlinket illeszthetik viszont ugye az adatbázisba is azt a linket fogja beírni. Van e lehetőségem arra, hogy a két formot egybekeverve egyetlen submit gombal megtörténjen mind a DB-be való beírás mind a távoli fájl áthúzása a saját szerverre.
Segítségetek előre is köszönöm
ÜDv!
Új téma
Kezdésnek javaslom tanulj egy kis HTML-t, HTTP protokoll-t, meg egy kicsit több PHP-ra is szükség lesz, ha ezt tényleg te akarod megvalósítani.