嘿,我总是得到错误
警告:move_uploaded_file(路径):无法打开流: 第27行/Users/Shared/xampp-htdocs/php-reports/upload.php中的权限被拒绝
我的index.php代码是
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="datei" accept=".csv"><br>
<input type="submit" value="Hochladen">
</form>
</body>
</html>
我的php代码是
<?php
$upload_folder = getcwd().'/uploads/files'; //Das Upload-Verzeichnis
$filename = pathinfo($_FILES['datei']['name'], PATHINFO_FILENAME);
$extension = strtolower(pathinfo($_FILES['datei']['name'], PATHINFO_EXTENSION));
//Überprüfung der Dateiendung
$allowed_extensions = array('csv');
if(!in_array($extension, $allowed_extensions)) {
die("Ungültige Dateiendung. Nur csv-Dateien sind erlaubt");
}
//Pfad zum Upload
$new_path = $upload_folder.$filename.'.'.$extension;
//Neuer Dateiname falls die Datei bereits existiert
if(file_exists($new_path)) { //Falls Datei existiert, hänge eine Zahl an den Dateinamen
$id = 1;
do {
$new_path = $upload_folder.$filename.'_'.$id.'.'.$extension;
$id++;
} while(file_exists($new_path));
}
//Alles okay, verschiebe Datei an neuen Pfad
move_uploaded_file($_FILES['datei']['tmp_name'], $new_path);
echo 'Datei erfolgreich hochgeladen: <a href="'.$new_path.'">'.$new_path.'</a>';
?>
我还将目录设置为chmod 777
-rw-r--r-- 1 user staff 279 31 Mär 12:00 .htaccess
drwxrwxrwx 2 user staff 68 31 Mär 11:56 files
答案 0 :(得分:1)
首先你应该检查谁是apache用户因为chmod不够尝试在终端$ ps aux |中执行此操作egrep'lampp'然后你将获得apache用户,这是唯一有权将文件上传到该文件夹的用户,然后通过键入chown -R“将你的apache用户放在我的cas中是守护进程”,将该foder的所有者更改为该用户“/ Users / Shared / xampp-htdocs / php-reports /