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'] . "'.";
}
?>