File uploader
Hello!
Fájl feltöltő scriptel próbálkozok:
Kiválasztom a fájl (12kb, .jpg) , majd feltöltés és kiadja hibaüzenetet:
"A feltöltés során hiba lépett fel!"
az upload mappa létezik a szerveren az adott mapppában.
Tudna valaki segíteni mi lehet a hiba??
Köszönöm (forrás: Ratoc_simple_uploader)
■ Fájl feltöltő scriptel próbálkozok:
Kiválasztom a fájl (12kb, .jpg) , majd feltöltés és kiadja hibaüzenetet:
"A feltöltés során hiba lépett fel!"
az upload mappa létezik a szerveren az adott mapppában.
Tudna valaki segíteni mi lehet a hiba??
Köszönöm
<?php
$mappa = "upload";
$filetipus = array("txt", "jpg", "rar");
$megengedettmeretbajt = $megengedettmeretmega * 1024 * 1024;
if(isset($_POST["feltolt"])) {
$temp = explode(".", $_FILES['file']['name']);
$kiterjesztes = array_pop($temp);
$nev = implode(".", $temp);
if($_FILES['file']['size'] > $megengedettmeretbajt) {
echo "A File meghaladta a megengedett méretet!<br>Megengedett: <b>" . $megengedettmeretmega . " MB</b>";
}
else if(!in_array($kiterjesztes, $filetipus)) {
echo "Nem megengedett filetípus!<br>Megengedett: <b>" . implode(", ", $filetipus) . "</b>";
}
else {
$ujhely = $mappa . "/" . $nev . "." . $kiterjesztes;
$n = 2;
while(file_exists($ujhely)) {
$ujhely = $mappa . "/" . $nev . "(" . $n . ")" . "." . $kiterjesztes;
$n++;
}
if(move_uploaded_file($_FILES['file']['tmp_name'], $ujhely))
echo "Sikeres feltöltés!";
else
echo "A feltöltés során hiba lépett fel!";
}
}
else {
echo "<h2>Feltöltés</h1>"
. "<form enctype=\"multipart/form-data\" action=\"\" method=\"post\">"
. "<input name=\"file\" type=\"file\"><br><br>"
. "<input type=\"submit\" name=\"feltolt\" value=\"Feltöltés!\">"
. "</form>";
}
?>
ott a kód...
If filename is a valid upload file, but cannot be moved for some reason, no action will occur, and move_uploaded_file() will return FALSE. Additionally, a warning will be issued.
tehát vagy nem történik meg a fájlfeltöltés, ezt ellenőrizheted az is_file($_FILES['file']['tmp_name']) paranccsal, vagy nem írható a könyvtár (a webszerver számára) ahova másolni szeretnél.
off: tanácsok a weblabor használatához
- kódokhoz használd a colorer vagy code bbcode-ot
- a hibás scriptből próbáld meg kiszedni a problémás részt, mert egy egész alkalmazást nem sok embernek van kedve átnézni
Különböző partíciók
--
böngésző
mégegy
if ( isset( $_FILES['fileupl'] ) ) {
print "Név: ". $_FILES['fileupl']['name'] ."<br />";
print "Méret: ". $_FILES['fileupl']['size'] ."<br />";
print "Ideiglenes név: ". $_FILES['fileupl']['tmp_name'] ."<br />";
}
erre a köv írta ki:
"
Név: 16864.jpg
Méret: 19879
Ideiglenes név: /tmp/phpMXAwPq
"
ez azt jelenti hogy már fent a szerveren egy ideiglenes könyvtárban??
Feltöltés rendben
könyvtár jogosultságok
ezt már nézted?
OK-
Valóban nem volt írható a könyvtár. Már beállítottam és működik.
asd
Hát, szerintem:
1. copy()-val csináld
2.nem igazán értem, hogy minek kell így szétszedegetni a usertől érkező dolgokat
mikor csak simán $_FILES['file']['name'] és ezt kell mozgatni... az $ujhely-re
ha nem is pont ez a hiba, akkor is vmi ezzel kapcsolatos dolog lesz, a gond.
amugy szerintem célszerű lenne a mime_type-ot is lellenőriztetni.
remélem tudtam segíteni.
DsA
-:--
de mivel én kezdő phps vagyok ezért kész scriptekkel dolgozok. találtam kb 4-5 upload scriptet és egyik sem használja a copy()-t.