【发布时间】:2012-07-18 03:37:12
【问题描述】:
我正在尝试在 PHP 中实现照片上传和调整大小(我正在使用 LAMP 堆栈和 Imagick 扩展来调整大小)。但是,每次我尝试上传文件时,文件的所有权默认设置为 www-data,这使得无法对文件应用任何更改。以下是我正在使用的代码:
<?php
if (is_uploaded_file($_FILES['picture']['tmp_name'])){
$photoPath = $_SERVER['DOCUMENT_ROOT'] . '/photo_app/uploads/' . $_FILES['picture']['name'];
if (move_uploaded_file($_FILES['picture']['tmp_name'], $photoPath)){
$image = new Imagick($photoPath);
$image -> scaleImage(250, 250, true);
$image -> writeImage($photoPath);
}
}
?>
照片被移动到正确的位置,但由于所有权问题没有调整大小。有没有办法解决这个问题?谢谢:)
【问题讨论】:
-
我怀疑这是一个所有权问题,因为试图操纵图像的用户
www-data是最初上传图像的那个人。 -
您是否真的收到表明 Web 服务器无权访问该文件的错误?
-
我实际上没有遇到任何访问错误。我只是假设是因为文件有不同的所有者,但是对于 www-data,访问权限设置为读取和写入
标签: php file-upload imagick ownership