首先,php的执行者你要知道,看进程明确执行者是哪个账户,可以使用mkdir(dir, 0777)设置操作权限
Ⅱ PHP怎么获取文件目录权限
PHP获取文件目录权限函数fileperms,使用这个函数可以文件或者目录属性。
例子程序:
<?php
$perms=fileperms('/etc/passwd');
if(($perms&0xC000)==0xC000){
//Socket
$info='s';
}elseif(($perms&0xA000)==0xA000){
//SymbolicLink
$info='l';
}elseif(($perms&0x8000)==0x8000){
//Regular
$info='-';
}elseif(($perms&0x6000)==0x6000){
//Blockspecial
$info='b';
}elseif(($perms&0x4000)==0x4000){
//Directory
$info='d';
}elseif(($perms&0x2000)==0x2000){
//Characterspecial
$info='c';
}elseif(($perms&0x1000)==0x1000){
//FIFOpipe
$info='p';
}else{
//Unknown
$info='u';
}
Ⅲ PHP写入文件权限问题
首先,fopen不是“写入文件”。 设777是文件系统的用户权限。php打开文件,除了受文内件系容统的限制,还受apache和php本身安全性限制。例如,apache限定了访问权限只限于/www,而你要操作/log的话,是不可能的,尽管/log里文件系统设了777。还有,在手册里fopen里有说“如果激活了 安全模式 或者 open_basedir 则会应用进一步的限制。”希望对你有帮助。
Ⅳ php调用linux命令更改文件权限
在php教程中调用命令的函数是
string exec(string command, string [array], int [return_var]);
如
exec( "vpopmail ");
echo exec('whoami');
再看一实例
functionexec_enabled(){
$disabled=explode(',',ini_get('disable_functions'));
return!in_array('exec',$disabled);
}
<?php
$tmp=exec("c:Imagegm.execonvertc:Imagefile1.tiffc:Imagefile1.jpg",$results);
?>
还有一种命令是
php通过函数system()调用系统命令。
stringsystem(string$command[,int&$return_var])
实例
system('asterisk-vvvvvvvvvvvc');
system()是一样的函数C的,它执行给定的命令和输出结果的版本。该system()的调用也尝试自动刷新网页服务器的输出缓冲器在每个输出
行如果PHP运行作为服务器模块。如果你需要执行一个命令,并已全部通过直接从背面没有任何干扰的命令数据,使用passthru()函数。
$last_line=system('ls',$retval);
functionmy_exec($cmd,$input='')
{$proc=proc_open($cmd,array(0=>array('pipe','r'),1=>array('pipe','w'),2=>array('pipe','w')),$pipes);
fwrite($pipes[0],$input);fclose($pipes[0]);
$stdout=stream_get_contents($pipes[1]);fclose($pipes[1]);
$stderr=stream_get_contents($pipes[2]);fclose($pipes[2]);
$rtn=proc_close($proc);
returnarray('stdout'=>$stdout,
'stderr'=>$stderr,
'return'=>$rtn
);
}
var_export(my_exec('echo-e$(</dev/stdin)|wc-l','h el lo'));
实例三
$cmd="date";
$output=system($cmd);
printf("SystemOutput:$output");
exec($cmd,$results);
printf("ExecOutput:{$results[0]}");
php调用linux命令的权限问题
你可以使用定时任务执行你要调用的php,这时的权限就是root,
php通过函数system()调用系统命令
php一般是以apache用户身份去执行的,把apache加入到存储你文件的父文件夹属组里去,然后改该父文件夹权限为775,这样属组成员就有写的
权限,而apache属于这个组就可以改写该目录下所有文件的权限,当然,属组最好不要是root,你可以为该文件夹改个其它普通用户组。
改apache/php的运行用户方法不安全
Ⅳ php中以777权限保存文件
1.网站的文件所有者帐号是什么?
2. apache/php-fpm以什么帐号身份运行?
3.网站哪些目录需要有写入权限(如日志生成、附件上传等)
针对这个问题,建议的设置如下:
1.网站所有者,可设置为ftp, www帐号
2.nginx/php-fpm/apache,建议以nobody帐号运行,反正不能使用网站文件所有者帐号。
3.需要可写权限的目录,手工设置权限为777即可
4.php生成的日志、附件文件的所有者会是nobody, 这时www,ftp帐号却无法修改、删除这些文件。那么在php生成文件时,可调用chmod($filename, 0777)。即解钤还需系钤人。
这样,php脚本只能向指定的目录中写入文件,一方面规范了程序代码的行为,另一方面,也一定程度上提高了网站的安装性
Ⅵ 用PHP对文件夹进行访问权限设置
把这个文件夹放到网站根目录以外的目录,这样通过url就访问不到了。
然后用php来读取并输出文件里的内容,详细方法参考php支持断点续传用的代码。
Ⅶ php网站文件目录权限如何开
将权限设置成777就可以了啊。chmod 777 【文件名】
“777”代表权限,对应rwdrwdrwd,从左往右第一位‘7’代表属主的权限对应第一组‘rwd’,r标识可以读,w代表可以写,x代表可以执行。
第二位‘7’代表属组的权限,第三位‘7’代表所有人的权限。例如只允许属主读写执行赋予700权限对应rwd权限。也可以使用a、u、字母表示权限,比如chmod a+x 【文件名】 是赋予任何人执行的权限,chmod a+r 【文件名】是赋予所有人读得权限,chmod a+w 【文件名】是赋予所有人写的权限,等等。
不过设置777不安全,最好设置成可读就可以了,744应该可以。