linux文件上传,给文件或目录添加apache权限的方法_Linux

在LAMP环境中,测试一个简单的php文件上传功能时,发现/var/log/apache2/error.log中出现如下php警告:

1. [Tue Jan 31 09:40:27 2012] [error] [client 127.0.0.1] PHP Warning: move_uploaded_file(/home/leotody/32883679.jpeg): failed to open stream: Permission denied in /var/www/upload_file.php on line 25, referer: http://localhost/info.html

2. [Tue Jan 31 09:40:27 2012] [error] [client 127.0.0.1] PHP Warning: move_uploaded_file(): Unable to move '/tmp/phps05ssU' to '/home/leotody/32883679.jpeg' in /var/www/upload_file.php on line 25, referer: http://localhost/info.html

提示没有访问权限,文件上传的代码如下:

  if (file_exists("upload/" . $_FILES["file"]["name"]))
   {
   echo $_FILES["file"]["name"] . " already exists. ";
   }
  else
   {
    if(move_uploaded_file($_FILES["file"]["tmp_name"], "upload/".$_FILES["file"]["name"]))
        {
            echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
        }
        else
        {
            echo "move error!";
        }
   }

页面中显示"move error!",说明move_uploaded_file()函数执行失败。

通过查找资料,发现网上有说是selinux启动的原因,检查系统并未启动selinux,查看upload目录默认权限ls -ld upload,结果为755:

1. drwxr-xr-x 2 root root 4096 2012-01-31 10:59 upload

将upload目录权限改为777,sudo chmod 777 upload,再测试上传功能成功。但这种修改权限的方法并不安全。

故可以改upload目录的拥有者为www-data(即apache),sudo chown -R www-data:www-data upload,然后再测试上传功能成功。

1. drwxr-xr-x 2 www-data www-data 4096 2012-01-31 10:59 upload

以上这篇linux文件上传,给文件或目录添加apache权限的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索linux
上传目录权限
linux 上传目录权限、apache目录权限设置、apache目录访问权限、apache 目录权限、mac apache 目录权限,以便于您获取更多的相关知识。

时间: 2024-10-05 23:28:54

linux文件上传,给文件或目录添加apache权限的方法_Linux的相关文章

组件-如何通过页面将指定类型的文件上传到服务器指定目录?

问题描述 如何通过页面将指定类型的文件上传到服务器指定目录? 最近我们部门在做一个项目的,有大量的页面需要将指定的文件上传到服务器,且文件类型和目录可灵活定义,并且上传过程中显示上传进度,支持多文件的上传.取消.删除操作.请问有没有现成的组件可以用,如果自己写需要考虑到各浏览器的兼容问题,担心考虑的不全面,所以是否有可用的工具拿过来直接用. 解决方案 什么语言什么环境没有说. 是web的么?看看这个效果如何http://www.cnblogs.com/zengxiangzhan/archive/

SpringMVC单文件上传、多文件上传、文件列表显示、文件下载(转)

  林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 本文详细讲解了SpringMVC实例单文件上传.多文件上传.文件列表显示.文件下载. 本文工程免费下载 一.新建一个Web工程,导入相关的包 springmvc的包+commons-fileupload.jar+connom-io.jar+commons-logging,jar+jstl.jar+standard.jar 整个相关的包如下: 整个工程目录如下: 二.配置web.xml和S

采用AjaxFileUpload实现文件上传,文件上传成功但得到的中文文件名为乱码。

问题描述 采用AjaxFileUpload实现文件上传,文件上传成功但得到的中文文件名为乱码. 采用Jquery插件AjaxFileUpload实现文件上传,文件上传成功但得到的中文文件名为乱码.后端采用ssh框架实现,试了试采用普通表单上传是没有问题的,由此断定问题出在Jquery插件上,可能插件在编码上没有考虑充分,于是研究了下js代码,但还是不知道要改哪里.网上也有人遇到类似问题,但没有人做到明确的回答.上传文件后不想页面整体刷新故采用Ajax实现上传,到底该如何解决呢,希望高手作答? 解

SWFUpload多文件上传及文件个数限制的方法_javascript技巧

本文实例讲述了SWFUpload多文件上传及文件个数限制的方法.分享给大家供大家参考,具体如下: SWFUpload是一个基于flash与JavaScript的客户端文件上传组件. handlers.js文件 完成文件入列队(fileQueued) → 完成选择文件(fileDialogComplete) → 开始上传文件(uploadStart) → 上传处理(uploadProgress) → 上传成功(uploadSuccess) → 上传完成(uploadComplete)  → 列队完

急急急急急急!jsp中文件上传 如果文件存在如何删除原来的文件,菜鸟求大神

问题描述 急急急急急急!jsp中文件上传如果文件存在如何删除原来的文件,菜鸟求大神. 解决方案 解决方案二:换个思路,你覆盖原来的就好了,名称取得一样就行.解决方案三:一楼正解....

asp.net下文件上传和文件删除的代码_实用技巧

文件上传 HttpPostedFile postFile = Request.Files["imgFile"]; if(postFile.FileName!=String.Empty){        ex=postFile.FileName.Substring(postFile.FileName.LastIndexOf("."));        fileName= DateTime.Now.ToString("yyyyMMdd") + ex;

支持多文件上传php文件上传代码

 */  代码如下 复制代码 class upfile{  //上传文件信息  var $filename;  // 保存名  var $savename;  // 保存路径  var $savepath;  // 文件格式限定,为空时不限制格式  var $format = "";  // 覆盖模式  var $overwrite = 0;  /* $overwrite = 0 时不覆盖同名文件   * $overwrite = 1 时覆盖同名文件   */  //文件最大字节  v

无组件文件上传代码实例(作者:Starleee) (支持多文件上传及文件和input域混合上传)

上传|无组件 关键词:ASP,无组件上传 关于无组件文件上传的文章已经很多了,所以在这里我不想再解释无组件文件上传的原理.在ASP中无法将二进制文件数据直接保存成文件,所以我们一般还是利用数据库来保存用户上传的文件. 1.数据库表结构(Access):UserID:Text(保存上传文件的用户ID)FileContentType:Text(用来保存上传文件的类型,eg:"Application/msword",主要用来使用户能正确下载此文件)FileContent:OLE Object

无组件文件上传代码实例(支持多文件上传及文件和input域混合上传)

上传|无组件 关于无组件文件上传的文章已经很多了,所以在这里我不想再解释无组件文件上传的原理.在ASP中无法将二进制文件数据直接保存成文件,所以我们一般还是利用数据库来保存用户上传的文件. 1.数据库表结构(Access):UserID:Text(保存上传文件的用户ID)FileContentType:Text(用来保存上传文件的类型,eg:"Application/msword",主要用来使用户能正确下载此文件)FileContent:OLE Object(保存文件数据) 2.HTM