问任何正在阅读此内容的人!
目前我有一个php页面,允许用户将文件上传到指定目录下的服务器。以下是我用来做的事情:
if(isset($_FILES['fileup']) && strlen($_FILES['fileup']['name']) > 1) {
chmod($uploadpath, 0777);
$uploadpath = $uploadpath . basename( $_FILES['fileup']['name']); // gets the file name
$sepext = explode('.', strtolower($_FILES['fileup']['name']));
$type = end($sepext); // gets extension
list($width, $height) = getimagesize($_FILES['fileup']['tmp_name']); // gets image width and height
$err = ''; // to store the errors
// If no errors, upload the image, else, output the errors
if($err == '') {
if(move_uploaded_file($_FILES['fileup']['tmp_name'], $uploadpath)) {
chmod($uploadpath, 0777);
echo '<br/><br/>File successfully uploaded:' .$uploadpath.'</b>';
}
else echo '<b>Unable to upload the file.</b>';
}
else echo $err;
}
上传部分就像魅力一样,文件上传到服务器很好但是一旦上传,我就无法将文件删除为另一个用户。目前,上传文件的用户将是Apache用户&#34; www-data&#34;。
我确实认为该问题与我尝试使用的已上传文件的权限有关:
chmod($uploadpath,0777);
虽然这没有帮助..文件仍然无法删除。如果我使用&#34; rm -rf / directorypath&#34;我可以通过SSH删除它。但是如果我浏览它就无法删除它。
有什么建议吗?非常感谢任何帮助!
答案 0 :(得分:3)
答案 1 :(得分:0)
您可以使用取消关联(&#39; upload_folder /&#39;。$ image [&#39; file_name&#39;]);
答案 2 :(得分:0)
尝试允许您的图片文件夹的权限,而不仅仅是下面的文件。
chmod($upload_path, 0777);
行前
$uploadpath = $uploadpath . basename( $_FILES['fileup']['name']);
请注意,777无论如何都不是超级安全的。最佳做法是使用组www-data
管理用户