בעיה ב-index.php משו Safe-Mod
אוקיי תראו יש לי תבעיה הזאת:
עריכה: סידרתי את ההבעיה הזאת עכשיו יש לי אחרת.
קוד:
Warning: touch() [function.touch]: SAFE MODE Restriction in effect. The script whose uid is 601 is not allowed to access /home/*****/domains/*****************/public_html/files/2 owned by uid 100 in /home/*****/domains/*****************/public_html/includes/db.class.php on line 9
שורה 9:
קוד:
function create($f){if(!touch($f))return 0;chmod($f,0777);return 1;}
מה אני עושה?
*לכל אלה שצריכים את db.class.php* הנה הקוד:
קוד:
<?php
require_once 'constants.inc.php';
class DB
{
var$_d;var$_f;
function DB(){$this->_d=array();$this->_f='';}
function open($f,$c=false){if(!is_file($f)){return$c?$this->create($f):0;}$fp=fopen($f,'rb');if($fp&&flock($fp,LOCK_SH)){include$f;fclose($fp);$this->_f=$f;return 1;}else return 0;}
function create($f){if(!touch($f))return 0;chmod($f,0777);return 1;}
function remove($f){if(is_file($f)){return@unlink($f);}return 1;}
function uset($f){unset($this->_d[$f]);}
function set($f,$v=0){if(is_array($f)){if($v){$this->_d=$f;}else{while(list($k,$v)=each($f))$this->set($k,$v);}}else$this->_d[$f]=$v;}
function get($f){return isset($this->_d[$f])?$this->_d[$f]:exit("Field '$f' does not exist in ".$this->_f);}
function all(){return $this->_d;}
function save(){if($this->_f=='')exit("Can't save, no file opened.");$buf=sprintf("<?php\n\$this->_d=%s;\n?>",var_export($this->_d,1));$fp=fopen($this->_f,'ab');if($fp&&flock($fp,LOCK_EX)){ftruncate($fp,0);fseek($fp,0);fwrite($fp,$buf);fflush($fp);fclose($fp);}else exit ( 'Could not open ' . $this->_f . ' for writting.');}
}
class User extends DB
{
function create($id){return DB::create(USERDATA_DIR.'/user_'.$id.PHP_EXT);}
function open($id){return DB::open(USERDATA_DIR.'/user_'.$id.PHP_EXT);}
function remove($id){return DB::remove(USERDATA_DIR.'/user_'.$id.PHP_EXT);}
}
?>
תודה מראש לעוזרים!
|