当前位置: 首页 > 面试题库 >

如何授予PHP对目录的写入权限?

琴俊良
2023-03-14
问题内容

我正在尝试使用PHP创建文件,但无法正常工作。我假设这是因为它没有写访问权限(以前一直是问题)。我试图通过使文件夹chmod
0777来测试这是否是问题,但是最终使该目录中的每个脚本都返回了500条错误消息,直到我将其改回为止。如何授予PHP对文件系统的写访问权,以便它可以创建文件?

编辑:它托管在使用Apache的Hostgator共享托管上。

编辑2:有人要求输入代码:该代码是GD图像脚本。我知道它的其余部分都可以像以前一样在调用每个ime时创建图像。现在,我尝试在添加新文本时创建它们并将其保存到文件夹。我写的行是:imagejpeg(null,$
file,85);

我还创建了一个测试文件来检查它是否只是一个损坏的脚本(主要是从tizag复制):http
://gearboxshow.info/rkr/lesig.jpg/testfile.txt
(我不知道是否/如何发布)正确的代码。这是PHP脚本的内容,减去PHP标记。)

它返回13,13,1(单独的行),因此看起来好像认为自己写了一些东西,但是testfile.txt是空白的(我上传了空白),或者不存在(如果删除了它)。

编辑3:服务器运行CentOS。


问题答案:

一种简单的方法是让PHP首先创建目录本身。

<?php
 $dir = 'myDir';

 // create new directory with 744 permissions if it does not exist yet
 // owner will be the user/group the PHP script is run under
 if ( !file_exists($dir) ) {
     mkdir ($dir, 0744);
 }

 file_put_contents ($dir.'/test.txt', 'Hello File');

这样可以节省您的权限麻烦。



 类似资料:
  • 我希望我的SES(AWS)能够接收电子邮件,所以我遵循以下教程:http://docs.AWS.amazon.com/SES/latest/developerguide/receiving-email-gett-start-receive-rule.html 当我在最后一步-创建规则,它来了以下错误,不能写到桶:“电子邮件接收” 我在谷歌(http://docs.aws.amazon.com/se

  • 我在*上运行命令< code >授予所有权限。*到由“root”标识的“root”@“%”; 并且它不断显示以下错误 11: 43:51向“root”标识的“root“@”%“授予所有权限。错误代码:1045。拒绝用户“root‘@”%的访问(使用密码:YES)0.00045秒 我还检查了Mysql上的User表,如下所示。 我不知道这是怎么回事?: 不重新安装MySQL怎么解决这个问题?(因为,

  • 当我使用JAVA API将数据放入hdfs时,我必须为hdfs目标目录提供许可。我尝试了以下代码: 我有以下错误

  • 我的目标是能够使用OAuth令牌调用Google Storage REST API,向经过身份验证的Google用户授予对我的存储桶中名为“directoryName”的目录的读/写权限。 到目前为止,我已经成功地在将用户添加到存储桶的ACL后使用了存储API。但是,我不想授予用户对完整存储桶的READ或WRITE权限,而只授予用户在存储桶内的目录的权限,例如桶/目录名称。 e、 g.我希望能够调

  • 本文向大家介绍oauth 授权码授予,包括了oauth 授权码授予的使用技巧和注意事项,需要的朋友参考一下 示例 第1步 第2步 资源

  • 大家好,我想给文件以读模式或写模式打开的权限。ext包含文件扩展名,file_name包含文件名。f_p是一个可验证的输入,其中I是作为“r”或“w”模式的输入。这里我在不同的位置使用相同的文件 但是在这段代码中,我得到了错误,因为找不到符号:方法setReadable(布尔)location:fos2是FileOutputStream类型 <% %>https://jsfiddle.net/wc