以下代码是test.php,我在同级目录下建立一个book_txt7目录,并设置为了777权限,目录可以建立成功<?php$base_dir="book_txt7"; //定义目录名if(file_exists($base_dir)){
echo $base_dir."文件夹已经存在!";
chmod($base_dir,0777);
}else{
echo $base_dir."文件夹不存在!";
if(mkdir($base_dir,0777)){
echo $base_dir."文件夹创建成功!";
}
}
?> 但是我把$base_dir变量修改为book_txt7/200905,也就是在刚建立的目录下面再建立一个200905目录,就出错了。
错误提示是:Warning: mkdir() [function.mkdir]: SAFE MODE Restriction in effect. The script whose uid is 28546 is not allowed to access /www/freehost.com/m/o/p/tom2000/htdocs/book_txt7 owned by uid 2001我是想建立的目录200905也应该有777权限,因为我要往里面写入TXT类型的文本文件等,但是连目录也不能建立啊。系统环境是:
Linux
php的safe_mode为 On
请问各位如何能够实现呢,依次建两层目录,然后能够往里面写入文件啊?
echo $base_dir."文件夹已经存在!";
chmod($base_dir,0777);
}else{
echo $base_dir."文件夹不存在!";
if(mkdir($base_dir,0777)){
echo $base_dir."文件夹创建成功!";
}
}
?> 但是我把$base_dir变量修改为book_txt7/200905,也就是在刚建立的目录下面再建立一个200905目录,就出错了。
错误提示是:Warning: mkdir() [function.mkdir]: SAFE MODE Restriction in effect. The script whose uid is 28546 is not allowed to access /www/freehost.com/m/o/p/tom2000/htdocs/book_txt7 owned by uid 2001我是想建立的目录200905也应该有777权限,因为我要往里面写入TXT类型的文本文件等,但是连目录也不能建立啊。系统环境是:
Linux
php的safe_mode为 On
请问各位如何能够实现呢,依次建两层目录,然后能够往里面写入文件啊?
我是没有服务器管理权限的,所以配置linux那些都不能做
将检查您将要操作的文件/目录与正在执行的脚本是否有相同的 UID。
dbase_open()
将检查您将要操作的文件/目录与正在执行的脚本是否有相同的 UID。
filepro()
将检查您将要操作的文件/目录与正在执行的脚本是否有相同的 UID。
filepro_rowcount()
将检查您将要操作的文件/目录与正在执行的脚本是否有相同的 UID。
filepro_retrieve()
将检查您将要操作的文件/目录与正在执行的脚本是否有相同的 UID。
ifx_*()
sql_safe_mode 限制, (!= safe mode)
ingres_*()
sql_safe_mode 限制, (!= safe mode)
mysql_*()
sql_safe_mode 限制, (!= safe mode)
pg_loimport()
将检查您将要操作的文件/目录与正在执行的脚本是否有相同的 UID。
posix_mkfifo()
将检查您将要操作的目录和正在执行的脚本是否有相同的 UID。
putenv()
遵循 ini 设置的 safe_mode_protected_env_vars 和 safe_mode_allowed_env_vars 选项。请参考 putenv() 函数的有关文档。
move_uploaded_file()
将检查您将要操作的文件/目录与正在执行的脚本是否有相同的 UID。
chdir()
将检查您将要操作的目录和正在执行的脚本是否有相同的 UID。
dl()
该函数在安全模式中已被屏蔽。
backtick operator
该函数在安全模式中已被屏蔽。
shell_exec()
(在功能上和 backticks 函数相同) 该函数在安全模式中已被屏蔽。
exec()
您只能在 safe_mode_exec_dir 设置的目录下进行执行操作。基于某些原因,目前不能在可执行对象的路径中使用。
system()
您只能在 safe_mode_exec_dir 设置的目录下进行执行操作。基于某些原因,目前不能在可执行对象的路径中使用。
passthru()
您只能在 safe_mode_exec_dir 设置的目录下进行执行操作。基于某些原因,目前不能在可执行对象的路径中使用。
popen()
您只能在 safe_mode_exec_dir 设置的目录下进行执行操作。基于某些原因,目前不能在可执行对象的路径中使用。
mkdir()
将检查您将要操作的目录和正在执行的脚本是否有相同的 UID。
rmdir()
将检查您将要操作的文件/目录与正在执行的脚本是否有相同的 UID。
rename()
将检查您将要操作的文件/目录与正在执行的脚本是否有相同的 UID。 将检查您将要操作的目录和正在执行的脚本是否有相同的 UID。
unlink()
将检查您将要操作的文件/目录与正在执行的脚本是否有相同的 UID。 将检查您将要操作的目录和正在执行的脚本是否有相同的 UID。
copy()
将检查您将要操作的文件/目录与正在执行的脚本是否有相同的 UID。 将检查您将要操作的目录和正在执行的脚本是否有相同的 UID。 (on source and target)
chgrp()
将检查您将要操作的文件/目录与正在执行的脚本是否有相同的 UID。
chown()
将检查您将要操作的文件/目录与正在执行的脚本是否有相同的 UID。
chmod()
将检查您将要操作的文件/目录与正在执行的脚本是否有相同的 UID。 另外,您不能设置 SUID、SGID 和 sticky bits
touch()
将检查您将要操作的文件/目录与正在执行的脚本是否有相同的 UID。 将检查您将要操作的目录和正在执行的脚本是否有相同的 UID。
symlink()
将检查您将要操作的文件/目录与正在执行的脚本是否有相同的 UID。 将检查您将要操作的目录和正在执行的脚本是否有相同的 UID。 (注意:仅测试 target)
link()
将检查您将要操作的文件/目录与正在执行的脚本是否有相同的 UID。 将检查您将要操作的目录和正在执行的脚本是否有相同的 UID。 (注意:仅测试 target)
getallheaders()
在安全模式下,以“authorization”(区分大小写)开头的头信息将不会被返回。警告:getallheaders() 无法在 aol-server 下实现!
header()
在安全模式下,如果您设置了 WWW-Authenticate,当前脚本的 uid 将被添加到该头信息的 realm 部分。
highlight_file(), show_source()
将检查您将要操作的文件/目录与正在执行的脚本是否有相同的 UID。 将检查您将要操作的目录和正在执行的脚本是否有相同的 UID。 (注意,仅在4.2.1版本后有效)
parse_ini_file()
将检查您将要操作的文件/目录与正在执行的脚本是否有相同的 UID。 将检查您将要操作的目录和正在执行的脚本是否有相同的 UID。 (注意,仅在 4.2.1 版本后有效)
任何使用 php4/main/fopen_wrappers.c 的函数
或者给全路径建
如果book_txt7不存在,则要加递归参数一次创建多级目录,否则出错
$base_dir="book_txt7"; //定义目录名if(file_exists($base_dir))
{
echo $base_dir."文件夹已经存在!";
chmod($base_dir,0777);
}
else
{
echo $base_dir."文件夹不存在!";
mkdir($base_dir,0777);
echo $base_dir."文件夹创建成功!";
}
晕, safe_mode 为 On 的话, 好像是吧 chmod 给禁掉了! 这个的话,就不好说了
//first
$base_dir="book_txt7"; //定义目录名 if(file_exists($base_dir)){
chmod($base_dir,0777);
}else{
if(mkdir($base_dir,0777);
}
//secodn
$base_dir2 = "book_txt7/200905";
if(file_exists($base_dir2))
{
echo $base_dir2."文件夹已经存在!";
chmod($base_dir2,0777);
}
else
{
echo $base_dir2."文件夹不存在!";
mkdir($base_dir2,0777);
echo $base_dir2."文件夹创建成功!";
}