ugrás a tartalomhoz

Move_uploaded_file() open_basedir hiba

enzo · 2005. Okt. 18. (K), 13.16
sziasztok

atneztem mar rengeteg hozzaszolast a temaval kapcsolatosan,
de nem sikerult megertenem a sajat problemamat:

localhoston mukodik, viszont a netre felpakolva a kov hibat kapom:

"Warning:  move_uploaded_file(): open_basedir restriction in effect. File(/upload/test.txt) is not within the allowed path(s)"


itt van a form:
<form method='post' action='index.php?action=upload&tartalom=ures' enctype='multipart/form-data'>
		<input type='file' name='userfile' size='30'>
		<input type='submit' value=' upload '>
	</form>
es a fuggveny:

<?php
function file_upload()
	{
	$uploaddir = '/upload/';
	$uploadfile = basename($_FILES['userfile']['name']);
	
	if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir.$uploadfile)) 
		{
	   	echo "sikeresen feltoltes<br>";
		}
	else
		{
	   	echo "sikertelen feltoltes<br>";
		}
	#print_r($_FILES);
	}
elore is koszi a segitseget
 
1

A könyvtár nem elérhető

Poetro · 2005. Okt. 18. (K), 13.48
Az említett /upload könyvtár nem elérhető számodra. Ez teljesen logikus is, ugyanis itt a / nem a weboldalad document root-ja hanem a szerver gyökérkönyváta, ami nem elérhető. Próbálkozz helyette a "./upload/"-el.
--------
Poetro
2

<Nincs cím>

enzo · 2005. Okt. 18. (K), 14.11
igen ez igy tenyleg logikus.

Warning: move_uploaded_file(./upload/test.txt): failed to open stream: No such file or directory in /home/enzo/public_html/test/functions.php on line 346

viszont most is hibauzenetet kapok, azt hiszem, hogy ket konyvtar melyseget kell visszamenni
???

a hibauzenet most is az:

Warning: move_uploaded_file(././upload/test.txt): failed to open stream: No such file or directory in /home/enzo/public_html/test/functions.php on line 346
3

Visszalépés

Poetro · 2005. Okt. 18. (K), 15.39
Visszalépésre a ../ alkalmazandó, azaz ../../upload/ lenne a helyes elérési út.
--------
Poetro
4

<Nincs cím>

enzo · 2005. Okt. 18. (K), 18.07
igen, ezt mar kiprobaltam de sajnos nem mukodik :(
5

open_basedir

Hojtsy Gábor · 2005. Okt. 18. (K), 20.33
Csak az open_basedir által megadott mappá(k)ba mozgathatod a feltöltött fájlt. Nézd meg mi az open_basedir értéke:
<?php echo ini_get("open_basedir");
Olyan mappába tudod csak mozgatni, ami ezen belül van.
6

<Nincs cím>

enzo · 2005. Okt. 19. (Sze), 10.37
ok,
az ertek amit visszakaptma ez:

/home/enzo:/usr/lib/php:/usr/local/lib/php:/tmp

igy probaltam ki:

$uploaddir = '/tmp/';

nem adott hibauzenetet, de a fajl nem jelenik meg a tmp konyvtarban;
a tobbi konyvtarra hibauzenetet ir ki
???
7

<Nincs cím>

enzo · 2005. Okt. 19. (Sze), 11.41
ehez mit szoltok?

"On the Fedora Core 3 Linux distribution, you may get a "failed to open stream: Permission denied in ..." message. I fact changing the permission of the directory will not work (even if you set to 0777). It is because of the new SELinux kernel that allow apache user to write only in /tmp dir (I think). In order to solve the problem you must to disable the SELinux (at least for apache service) to allow the server to write in other directories. To do that, run the system-config-securitylevel app and disable the SE to apache service. Reboot your system and continue your work. Hope it helps!"

???