救命啊!!!

wwx840723 2009-04-26 09:55:25
mkdir("com/aaa", 777);这个语句,aaa这个目录建成了,但是在虚拟主机上创建出来的目录权限是 411。
如果是在本机测试的话都可以建成功的,传到服务器上用FTP登陆查看aaa的属性是411,向aaa目录写文件就写不进去,我用chmod("com/aaa", 777);都改变不了目录权限,怎样才能使建立的新目录的属性为777呢?
急盼解决。
...全文
168 27 打赏 收藏 转发到动态 举报
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
wwx840723 2009-04-27
  • 打赏
  • 举报
回复
我那个目录是得用程序建的
因为每个用户的建的目录不一样,我觉得应该有办法解决,因为听客户说他都安装过php的一些开源文件,建文件夹和写文件都无问题。
但我不晓得怎么解决!
cuidenghong123 2009-04-27
  • 打赏
  • 举报
回复
联系服务商 应该是没有给你权限吧
海诗美妆 2009-04-27
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 wwx840723 的回复:]
提供商给提供的ftp账号可以创建777目录
但是我用php代码,以ftp方式登录进去,新建目录不了,登录没有问题。
就是建不了目录
有什么办法?
[/Quote]
那就只能看看受否可以执行外部程序了
chmod 777
wwx840723 2009-04-27
  • 打赏
  • 举报
回复
提供商给提供的ftp账号可以创建777目录
但是我用php代码,以ftp方式登录进去,新建目录不了,登录没有问题。
就是建不了目录
有什么办法?
热学沸腾56 2009-04-27
  • 打赏
  • 举报
回复
up,mark
海诗美妆 2009-04-27
  • 打赏
  • 举报
回复
使用ftp账号可以更改访问权限,
chmod这种函数,普通共享服务器里面肯定要被限制的。
程序猿之殇 2009-04-27
  • 打赏
  • 举报
回复
mkdir函数,和运行apache的用户权限,以及apache用户对当前目录的操作权限有关系.
mengshan1986 2009-04-27
  • 打赏
  • 举报
回复
一般空间提供商给提供的ftp账号可以创建777目录的
应该网 2009-04-27
  • 打赏
  • 举报
回复
出现这种情况,找服务商一般也没办法。可能是服务器的权限设置(安全设置)。


给出一种解决办法吧:用ftp的方式去建立文件夹,这样应该不会出现这种情况(ftp会要求提供用户名和密码)。


具体php用ftp方式建立文件夹的方法可以去网上找找。
wwx840723 2009-04-27
  • 打赏
  • 举报
回复
[Quote=引用 25 楼 runffer_yang 的回复:]
PHP code<?php
$old = umask(0);
mdkir("com/aaa",0777);
?>


正好我借的服务器umask也是18,试了一下,没加umask(0)的时候是0755,加了以后是0777.
[/Quote]

哦,可以了
真的是很感谢runffer_yang ;
谢谢!
qustxuzhen 2009-04-27
  • 打赏
  • 举报
回复
mkdir("com/aaa", 777);应改为mkdir("com/aaa", 0777);0开头表示用八进制数
Steve 2009-04-27
  • 打赏
  • 举报
回复
<?php
$old = umask(0);
mdkir("com/aaa",0777);
?>

正好我借的服务器umask也是18,试了一下,没加umask(0)的时候是0755,加了以后是0777.
phpboy 2009-04-27
  • 打赏
  • 举报
回复
测试了一下,用0777是对的



mkdir( "com/aaa", 0777 );

chmod( "com/aaa", 0777 );




生成 aaa的权限是 777
wwx840723 2009-04-27
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 phpBoy005 的回复:]
引用 19 楼 runffer_yang 的回复:
lz原来的代码用10进制的777,当然分到2进制就变成411了,你写成八进制0777,把aaa删掉重建应该就好了,
否则就是umask的问题,设一下umask就行了。


那个是我说错了,不是LZ的问题...

LZ是先在本地生成后,再上传的查看权限的,上传后的文件权限是411的! 所以LZ上传后查看文件 aaa的权限是不对的

LZ应该用程序在服务器上生成一个 aaa ,然后 看一下权限,应该是对的!
[/Quote]
com目录是直接在FTP上建的,权限是777,但用mkdir( "com/aaa", 0777 ); 在ftp上查看aaa权限还是411.
当然更改后又可以,可问题是aaa是动态生成的,不可能生成后都要去修改!
wwx840723 2009-04-27
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 runffer_yang 的回复:]
lz原来的代码用10进制的777,当然分到2进制就变成411了,你写成八进制0777,把aaa删掉重建应该就好了,
否则就是umask的问题,设一下umask就行了。
[/Quote]
print umask(); 得到18
JulianHuang 2009-04-27
  • 打赏
  • 举报
回复
租用的服务器中 chmod 命令应该是不可以修改777权限的,正常情况下FTP工具就可以创建并修改文件夹权限!
phpboy 2009-04-27
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 runffer_yang 的回复:]
lz原来的代码用10进制的777,当然分到2进制就变成411了,你写成八进制0777,把aaa删掉重建应该就好了,
否则就是umask的问题,设一下umask就行了。
[/Quote]

那个是我说错了,不是LZ的问题...

LZ是先在本地生成后,再上传的查看权限的,上传后的文件权限是411的! 所以LZ上传后查看文件 aaa的权限是不对的

LZ应该用程序在服务器上生成一个 aaa ,然后 看一下权限,应该是对的!

Steve 2009-04-27
  • 打赏
  • 举报
回复
lz原来的代码用10进制的777,当然分到2进制就变成411了,你写成八进制0777,把aaa删掉重建应该就好了,
否则就是umask的问题,设一下umask就行了。
Steve 2009-04-27
  • 打赏
  • 举报
回复
看看你的umask是什么:
print umask();
phpboy 2009-04-27
  • 打赏
  • 举报
回复
你要先上传php文件,然后在服务器上面生成,你上传新文件到服务器上

权限是 411的,上传后要改权限
加载更多回复(7)

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧