ugrás a tartalomhoz

Fájl feltöltés és elmozgatás PHP-vel

attila0001 · 2005. Júl. 17. (V), 09.56
Hello lenne egy kérdésem

Szeretnék képet feltölteni a szervere és nem sikerül nem tudom hogy mi lehet az oka a PHP feltölti az ideiglenes mapába de az move_uploaded_file fals értéket ad vissza

kep

mapának pedig 777 atributuma van és a főkönyvtárban helyezkedik el


<?php
print $uploaddir = $_SERVER['DOCUMENT_ROOT'].'/kep/';
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir .
$_FILES['userfile']['name'])) {
print "File is valid, and was successfully uploaded.";
} else {
print "There some errors!";
}
?>
 
1

userfile?

Hojtsy Gábor · 2005. Júl. 17. (V), 10.02
Egyáltalán userfile annak a fájl feltöltési mezőnek a neve, amivel feltöltöd? Azt kellene megnézni, hogy mi van a $_FILES-ban:

<?php var_dump($_FILES); ?>
2

var_dump

attila0001 · 2005. Júl. 17. (V), 10.34
array(1) { ["userfile"]=> array(5) { ["name"]=> string(8) "kola.gif" ["type"]=> string(0) "" ["tmp_name"]=> string(0) "" ["error"]=> int(2) ["size"]=> int(0) } }

de ez nekem nem mond semit
4

nem menti le!

Hojtsy Gábor · 2005. Júl. 17. (V), 10.54
Most miért mondod, hogy lementi, ha egyszer látjuk, hogy a tmp_name nem tartalmaz semmit, tehát nem mentette le, és a kettes hibakódot adja vissza? Nem kellene látnod lementve a fájlt...
3

ezt adja visze szerintem ez ok

attila0001 · 2005. Júl. 17. (V), 10.42
Array
(
[name] => Array
(
[0] => kola.gif
)

[type] => Array
(
[0] => image/gif
)

[tmp_name] => Array
(
[0] => /tmp/php7EIxEE
)

[error] => Array
(
[0] => 0
)

[size] => Array
(
[0] => 75172
)

)
5

Minek a tartalma ez?

Hojtsy Gábor · 2005. Júl. 17. (V), 10.57
Ez biztos, hogy nem a $_FILES tartalma, mert az nem így indexelődik. Ha meg mégis az lenne, amit erősen kétlek, akkor a fenti kódodban nem jól hivatkozol a tömbelemre, mert itt ugye ['tmp_name'][0] tartalmazza az ideiglenes nevet.
6

a

attila0001 · 2005. Júl. 17. (V), 11.05
annak a tartalma volt csak a phpinfo parancsból másoltam ki itt van a tartalma de it szerintem minde ok!

array(1) { ["userfile"]=> array(5) { ["name"]=> array(1) { [0]=> string(8) "kola.gif" } ["type"]=> array(1) { [0]=> string(9) "image/gif" } ["tmp_name"]=> array(1) { [0]=> string(14) "/tmp/php7EIxEE" } ["error"]=> array(1) { [0]=> int(0) } ["size"]=> array(1) { [0]=> int(75172) } } }
7

Ha neked így kell, akkor talán így használd!

Hojtsy Gábor · 2005. Júl. 17. (V), 11.21
Hát akkor ez annak lehet az eredménye, hogy name="userfile[]" nevet használtál, azaz több fájl feltöltést is szándékoznál kezelni... Bár a fenti kódod szerint erre nincs szükség, ha el akarod bonyolítani az életed, végülis rajtad áll. De akkor ugyanonnan másold a feldolgozó kódot, ahonnan a HTML-t másoltad, és a tömb szerkezetének megfelelő értéket vedd, ne tegyél úgy, mintha egy feltöltést várnál csak.
8

Köszönöm

attila0001 · 2005. Júl. 17. (V), 11.41
Köszönöm mostmár ok hulye voltam
9

copy vs. move_uploaded_file

DevNULL · 2005. Júl. 20. (Sze), 13.59
Hello
Bocs, hogy így belekérdezek, de nem akarok új témát nyitni emiatt.
Szóval én is próbálgattam a fájl (főleg kép) feltöltést és gond nélkül ment is,de én COPY($fajl_name,$hova_dir); fv-t használtam. Miben más (jobb, rosszabb) amit te használsz?
10

RTFM

Hojtsy Gábor · 2005. Júl. 21. (Cs), 13.24
Lásd a move_uploaded_file() dokumentációját. Safe mode és open_basedir beállítás esetén a copy() nem használható feltöltött fájlok másolására. Márpedig ingyenes tárhelyeken korlátozzák az embert.