我有一个PHP脚本,可以从用户那里接收数据。该脚本托管在运行Apache,PHP和PostGreSQL的AWS EC2实例上。
这是脚本:
$chars = 'abcdefghijklmnopqrstuvwxyz0123456789';
$length = 5;
$fileName = '';
for($i = 0; $i < $length; $i++) {
$fileName .= $chars[mt_rand(0, 36)];
}
$filePath = "uploads/$fileName.jpg";
$encoded_photo = $_POST['snap'];
echo $encoded_photo;
$photo = base64_decode($encoded_photo);
$file = fopen($filePath, 'wb');
fwrite($file, $photo);
fclose($file);
因此,为照片生成随机文件名,然后将$filePath
变量插入到PostGreSQL中。
然而,当我检查uploads/
目录时,它是空的。没有找到JPEG。我相信我的代码是正确的,也许目录的权限不正确?可以提供任何指导吗?
请注意我的host=localhost port=5432 dbname=*** user=**** password=****
方法中有pg_connect()
。
答案 0 :(得分:-3)
Apache需要能够写入uploads /目录。一种方法是在上传时将Apache用户放入组中,并确保该组对目录具有写权限。
https://stackoverflow.com/questions/7283068/how-to-add-an-existing-user-into-a-group-in-linux
这将赋予组写权限:chmod g + w uploads /