• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Komunikat "failed to open stream: Permission denied" przy upload plików na serwer PHP (move_uploaded_file)

Object Storage Arubacloud
–1 głos
2,947 wizyt
pytanie zadane 10 kwietnia 2016 w PHP przez Yaworek Początkujący (250 p.)
edycja 10 kwietnia 2016 przez Yaworek

Servus!

korzystam z XAMPP, napisałem skrypt, który ma za zadnie zapisać plik graficzny oraz nazwę przedmiotu. 
Niestety przy próbie zapisania piliku na serwer występuje następujący błąd, będę wdzięczny za pomoc:

Warning: move_uploaded_file(/Applications/XAMPP/xamppfiles/htdocs/save_file/foto/module_table_bottom.png): failed to open stream: Permission denied in /Applications/XAMPP/xamppfiles/htdocs/save_file/dodaj.php on line 12

Warning: move_uploaded_file(): Unable to move '/Applications/XAMPP/xamppfiles/temp/php5CenbO' to '/Applications/XAMPP/xamppfiles/htdocs/save_file/foto/module_table_bottom.png' in/Applications/XAMPP/xamppfiles/htdocs/save_file/dodaj.php on line 12

Nie potrafię znaleźć przyczyny, tj. widzę, że jest to kwestia  praw dostępu (Permission denied), ale nie wiem co powinienem zrobić, aby plik mógł być zapisany na serwerze. 

Poniżej podaje skrypty:

 

index.php

<DODCTYPE HTML>
<html lang="pl">
<head>
	<meta charset="UTF-8"/>
	<title>Zapisywanie pliku na serwerze</title>
</head>

<body>
	<h1> Wprowadź dane </h1>
	<form action="dodaj.php" method="post" ENCTYPE="multipart/form-data">

		Nazwa przedmiotu:
		<input type="text" name="item_name"/>
			<br/><br/>

		Foto przedmiotu:
		<input type="file" name="item_pic" accept="image/*"//>
			<br/><br/>

		<input type="submit" value="Anuluj"/>
		<input type="submit" value="Zapisz"/>

	</form>
</body>
</html>

 

dodaj.php

<?php

	
	$item_name = $_POST['item_name'];

	

if (is_uploaded_file($_FILES['item_pic']['tmp_name'])) {
   echo "Plik ". $_FILES['item_pic']['name'] ." Poprawny upload.\n";
   echo "Info\n";
   readfile($_FILES['item_pic']['tmp_name']);
   move_uploaded_file($_FILES['item_pic']['tmp_name'], $_SERVER['DOCUMENT_ROOT'].'/save_file/foto/'.$_FILES['item_pic']['name']);

	echo "działa. Nazwa przedmiotu:\n";
	echo $item_name;
} else {
   echo "Prawdopodobnie nie wybrałeś pliku ";
   echo "Nazwa pliku '". $_FILES['item_pic']['tmp_name'] . "'.";
}

 

?>

 

2 odpowiedzi

+1 głos
odpowiedź 10 kwietnia 2016 przez PawełN Mądrala (5,340 p.)
wybrane 10 kwietnia 2016 przez Yaworek
 
Najlepsza

Działasz na Macu? Prawdopodobnie chodzi o prawa dostępu do katalogów /save_file i /save_file/foto. Ustawisz je w konsoli komendą chmod 777 nazwa_pliku_lub_folderu

komentarz 10 kwietnia 2016 przez Yaworek Początkujący (250 p.)
Paweł,  zgadza się, działam na Macu, właśnie udało mi się poprzez właściwości pliku zmienić uprawnienia, ale dzięki!
komentarz 11 kwietnia 2016 przez efiku Szeryf (75,160 p.)
0 głosów
odpowiedź 10 kwietnia 2016 przez Yaworek Początkujący (250 p.)

Wygląda na to, że sam znalazłem rozwiązanie ;) wrzucam może komuś się przyda

Wystarczy wejść we właściwości folderu (folder docelowy, gdzie ma być zapisany plik) i wybrać > Udostępnianie i uprawnienia, a następnie wybrać z  "Użytkownicy i grupy" grupę "MySQL Users" oraz nadać przywilej "Odczyt i zapis"

Podobne pytania

0 głosów
1 odpowiedź 195 wizyt
pytanie zadane 14 września 2018 w PHP przez progNewbie Obywatel (1,130 p.)
+1 głos
1 odpowiedź 2,347 wizyt
0 głosów
2 odpowiedzi 367 wizyt
pytanie zadane 5 marca 2017 w PHP przez prymex Obywatel (1,250 p.)

92,570 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,958 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...