[英]fopen() in PHP not creating or writing to txt file
我收到以下警告:
警告:fopen(Uploaded_Files/dataFile1.txt):无法打开 stream:/opt/lampp/htdocs/PHP_Course_Practice/Superglobals/data_upload.php 中的权限被拒绝 17
chown -R www-data:www-data folder
(其中文件夹是文件夹的完整路径)和终端说chown: www-data: illegal group name
sudo dseditgroup -o edit -a daemon -t user wheel
(首先到 Superglobals 文件夹,然后到 Xampp 的根文件夹)该代码是:
<?php
$document_root = $_SERVER["DOCUMENT_ROOT"];
$fileRoot = $document_root . "/PHP_Course_Practice/Superglobals/Uploaded_Files/dataFile1.txt";
echo "Root: $document_root";
include($document_root . "/PHP_Course_Practice/Superglobals/Uploaded_Files/dataFile1.txt");
?>
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<?php
if (isset($_POST["submit"])) {
$dataFile1 = fopen("Uploaded_Files/dataFile1.txt", "w");
$dataFile1Txt = "My age is " . $_POST["age"] . ".";
fwrite($dataFile1, $dataFile1Txt);
echo $dataFile1;
fclose($dataFile1);
}
?>
<form action="data_upload.php" method="post">
<input type="text" name="age">
<input type="submit" name="submit">
</form>
</body>
</html>
检查 web 用户。
<?php
echo exec("whoami");
并将用户添加到您的组。
sudo usermod -a -G <groupName> <userName>
最后,检查文件的权限设置。
您应该尝试检查要打开的文件或目录的权限。 之后,您可以添加以递归方式读取和写入该目录的权限,如下所示
$ chmod -R 770 /path/toyour/directory
我可以解决的方法是下载并安装 XAMPP 的非虚拟机版本。 似乎 XAMPP (LAMPP) 的 VM 版本不适合本地主机上的权限,除非您可能热衷于 777 的非安全打开。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.