还是不好使,不过那函数是好使的,已经成功的修改了权限为777,
可是……Warning: mkdir() failed (File exists) in /var/www/html/admin/postnew.php on line 35
../testabc/imagesWarning: SAFE MODE Restriction in effect. The script whose uid is 505 is not allowed to access ../testabc owned by uid 48 虽然修改了权限,我还是不能在那里建立目录。:(
可是……Warning: mkdir() failed (File exists) in /var/www/html/admin/postnew.php on line 35
../testabc/imagesWarning: SAFE MODE Restriction in effect. The script whose uid is 505 is not allowed to access ../testabc owned by uid 48 虽然修改了权限,我还是不能在那里建立目录。:(
解决方案 »
- 求助:将若干数字以正则输出!高手在哪里。。
- 一个关于innerhtml select的问题
- 求一个php正则,想了半个小时没想出来
- 读程序时遇到个问题!希望大家能帮下!
- 我给公司做的网站奇差那个改版了,呵,有脸见人了……!◎#¥……%!!!!!!
- mysql 错误,错误号(2013):ERROR 2013: Lost connection to MySQL server during query
- 提交表单内容后怎样自动关闭该窗?
- 关于微信开发POST调用https和http的接口问题
- 如何获取局域网内其他机器上面的时间戳。
- 使用laravel创建数据库 migrate
- 帮忙写一个判断变量长度的函数,谢谢!
- 关于正则表达式的问题?
mkdir("gcs", 0777);
chdir("gcs");
mkdir("gcs925", 0777);
?>我刚刚试过这段代码,好用!
{
$path = "../" . $path;
if(!@dir($path)){
mkdir($path,0777);
}
chmod($path,0777);
chdir("$path");
mkdir("images",0777);
}
按照楼上朋友说的刚改的,还是不行。:(
{
$path = "../" . $path;
if(!@dir($path)){
mkdir($path,0777);
}
chmod($path,0777);
chdir("$path");
mkdir("images",0777);
}
按照楼上朋友说的刚改的,还是不行。:(
建立目录。语法: int mkdir(string pathname, int mode);返回值: 整数函数种类: 文件存取
内容说明
本函数建立参数 pathname 目录,参数 mode 以八进位的方式指定 (在参数前加 0) 比较不会出错。返回 true 表示成功,失败则返回 false。
使用范例
下例就是用八进位的例子,建立 /path/to/my/dir 目录,该目录只有拥有者及 root 等级可读写执行,其它人无法使用。 <?php
mkdir("/path/to/my/dir", 0700);
?>
我不能操作gcs925这个目录,包括不能对其进行改名、删除、向目录里copy文件建立目录等。
但是,可是对gcs进行操作,可是,不能删除。因为目录不为空。于是,我又用另一个程序,将我建立好的目录删除了,因为执行程序的owner是相同的,所以,可以用程序对其进行操作。
<?
mkdir("gcs", 0777);
chmod("gcs", 0777);
if (chown("gcs", 172)) {
echo "good";
}
else {
echo "bad";
} copy ("/usr/home/u561m1/htdocs/mengtai/photo/photo2.jpg", "/usr/home/u561m1/htdocs/gcs/photo2.jpg");
/*
chdir("gcs");
mkdir("gcs925", 0777);
*/
?>rmdir.php代码
<?
chdir("gcs");
// rmdir("gcs925");
unlink("/usr/home/u561m1/htdocs/gcs/photo2.jpg");
chdir("..");
rmdir("gcs");
?>
程序建立的目录的属性还是755,没有改变。
而且,改变owner的功能也不好用。
用程序是可以向程序建立的目录下copy文件的,而且,也可以通过web方式访问。我还是觉得是owner的问题。
也许是服务器的配置不同吧!
详见:http://www.php.net/manual/en/features.safe-mode.php
PHP在Linux上用户是按Apache(之类的服务器)上User参数指定的用户进行工作的,也就是User有什么权限,PHP就能在服务器上做什么事。一般说来,不可能把User权限设置为root权限吧?如果如此的话,就算是你能更改/home/www目录的权限,又如何能更改得了/home目录的权限。
只要有一个上面层次目录的权限不够,你就无法将文件或目录写入到这个目录下。所以就不要打PHP去更改目录权限的主意了。如果有人真的能够更改的话,那PHP要修正这个BUG,否则,那台服务器的系统管理员就有得事做了。如果要将文件写到某一目录下话,还是先用root用户在根目录下建立一子目录,并将其属主chown到Apache指定的User.Group,再将其权限chmod到755状态,然后在Apache中用Alias子句将该目录映射到网站的根目录下。
在写文件时一定要注意copy($filename,$target)中的$target一定是写服务器的绝对路径,而不网站的绝对路径!