ugrás a tartalomhoz

Fájl feltöltésnél move_uploaded_file(http://...) hiba

babazs · 2005. Aug. 7. (V), 01.57
HI!

Szeretnék állományt feltölteni az apache webszerveremre php-vel
de mindig ezt irja ki!

Warning: move_uploaded_file(http://localhost/weboldal/BIN/index.php): failed to open stream: HTTP wrapper does not support

writeable connections. in c:\appserv\www\weboldal\forum.php on line 23

Warning: move_uploaded_file(): Unable to move 'C:\WINDOWS\TEMP\php1C9.tmp' to 'http://localhost/weboldal/BIN/index.php' in

c:\appserv\www\weboldal\forum.php on line 23

Mit kellen még beállitanom??

Köszi!
 
1

nem jó a cél

Anonymous · 2005. Aug. 7. (V), 09.07
A move_upload_file-nál célfájlnak ne http://loaclhost.... elérésiutat adj meg, hanem c:\appserver\www\...

üdv.: Zsolt
2

<Nincs cím>

babazs · 2005. Aug. 7. (V), 15.38
De ha netröl tölt majd fel valaki akkor ott localhoszt lesz?,nem?
3

minden a gépeden van

Hojtsy Gábor · 2005. Aug. 7. (V), 16.12
A fájl, amit feltöltöttek, az a gépeden lesz, és ahova teszed, nyilván az is a gépeden lesz. A move_uploaded_file() dokumentációja javasolja, hogy nézd meg a fájl feltöltés példákat, ahol láthatod, hogy két lokális fájlról van szó, ahonnan és ahova mozgatod.
4

tmp_dir probléma

Anonymous · 2006. Jan. 20. (P), 23.56
Problémám a következő:

Szeretnék feltölteni egy file-t apache szerverre, de a move_uploaded_file függvény nem akar lefutni. A php.iniben nincs default érték ideglenes könyvtárra, a $_FILES tömbben megjelenik a kép átmeneti helye, a második argoumentumnak megadtam a célállomást, mégsem megy. A vicc az egészben, hogy atw szerveren hibátlanul működik...

source-részlet:

<?php
 foreach ($_FILES['file']['error'] as $key => $error) {

   if ($error == UPLOAD_ERR_OK) {
       $tmp_name = $_FILES['file']['tmp_name'][$key];
       $name = $_FILES['file']['name'][$key];

       move_uploaded_file($tmp_name, "upload/".$name)
	or die("nem lehetséges a file-feltöltés");

       chmod("upload/".$name, 0604);  //file attributum módosítás
A kód 90%-ban a php.netről származik, gyanítom, hogy a tmp könyvtárral van valami gond.
5

nem megy

Hojtsy Gábor · 2006. Jan. 21. (Szo), 15.45
Miben nyilvánul meg, hogy nem megy? Kell lennie hibaüzenetnek valahol, illetve az $error más értékeit is kellene vizsgálni...
6

sorry

Anonymous · 2006. Jan. 22. (V), 16.03
bocs, ezt tényleg kihagytam:
<?php
   move_uploaded_file($tmp_name, "upload/".$name)
    or die("nem lehetséges a file-feltöltés");
Ennél a sornál írja ki hogy nem lehetséges a file-feltöltés. Nem tudja áthelyezni a file-t.
7

nem fekete doboz

Hojtsy Gábor · 2006. Jan. 22. (V), 17.19
A PHP szerencsére nem fekete doboz. Először is beállítod a szkripted elején, hogy minden hibát legyen szíves kiírni:
<?php
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
Akkor megnézed, hogy milyen tényleges hibaüzenetet ír ki. Azzal, hogy a move_uploaded_file() hamissal tér vissza, nem sokat érsz...
8

megvan a hiba

Anonymous · 2006. Jan. 22. (V), 18.15
Nagyon köszi a segítséget. a problémát sajnos még nem sikerült megoldani, következő a gond:

Warning: move_uploaded_file(xy.jpg): failed to open stream: Permission denied in /home/www/xy.hu/xy/xy.php on line n

ezen tudok valahogy változtatni, vagy inkább szóljak a rendszergazdának, hogy nincs hozzáférésem?
9

ott van-e forrásfájl, írható-e a célkönyvtár?

Hojtsy Gábor · 2006. Jan. 22. (V), 18.38
Azért nem árt megnézni, hogy egyáltalán ott van-e a fájl... Javaslom kiírni a keresett fájl nevét ($tmp_name) és a stat($tmp_name) visszatérési értékét erre. Ha ez jó, akkor nyilván az író stream nem megnyitható, és az olvasással semmi gond. Akkor az upload mappa írási jogát kellene megnézni, hogy a szerver felhasználója számára engedélyezett-e, illetve hogy tényleg ott van-e az upload mappa, ahol a move_uploaded_file() végrehajtásakor szerinted lennie kell (itt relatív mappa elérést adtál meg).
10

forrás ok,

Anonymous · 2006. Jan. 22. (V), 19.18
a forrás a helyén van, ki is írja a nevét és elérését.

relatív mappaelérésnél az az érdekes, hogy ez esetben nem ad ki hibaüzenetet, de nem is helyezi át a file-t. Ha abszolút hivatkozást használok, akkor megjelenik a premission denied üzenet, és ez esetben sem történik másolás.