 |
Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Comunitatea PHP Romania
|
| Subiectul anterior :: Subiectul următor |
| Autor |
Mesaj |
roman_marian
Data înscrierii: 24/Aug/2007
Mesaje: 16
|
| Trimis: Mie Sep 03, 2008 11:38 am Titlul subiectului: eroare ciudata la sesiune |
|
|
imi poate spune cineva de ce apare aceasta eroare?
Cod: 2: /*Warning: filesize() [<a href='function.filesize'>function.filesize</a>]: stat failed for http://127.0.0.1/bla/blabla/sessions/ in D:\server\htdocs\blablabla\blabla\set\sess.inc on line 21
Warning : fread() [<a href='function.fread'>function.fread</a>]: Length parameter must be greater than 0 in D:\server\htdocs\blablabla\blabla\set\sess.inc on line 21*/
function open ($save_path, $session_name) {
global $sess_save_path, $sess_session_name;
$sess_save_path = "http://127.0.0.1/blablabla/bla/sessions";
$sess_session_name = $session_name;
return(true);
}
function close() {
return(true);
}
function read ($id) {
global $sess_save_path, $sess_session_name;
$sess_file = "$sess_save_path/$id";
if ($fp = @fopen($sess_file, "r")) {
$sess_data = fread($fp, filesize($sess_file));
return($sess_data);
} else {
return("");
}
function write ($id, $sess_data)
{
global $sess_save_path, $sess_session_name;
$sess_file = "$sess_save_path/$id";
if ($fp = @fopen($sess_file, "w+"))
{
return(fwrite($fp, $sess_data));
}
else
{
return(false);
}
} |
|
| Sus |
|
Birkoff
Data înscrierii: 18/Mar/2004
Mesaje: 2607
Locație: Bucuresti
|
| Trimis: Mie Sep 03, 2008 12:04 pm Titlul subiectului: |
|
|
| eroarea apare la functia filesize care zice clar ca fisierul dat ca parametru ori nu il gaseste ori are lungimea 0 bit si atunci fread nu are ce sa citeasca... |
|
| Sus |
|
roman_marian
Data înscrierii: 24/Aug/2007
Mesaje: 16
|
| Trimis: Mie Sep 03, 2008 12:11 pm Titlul subiectului: |
|
|
| si unde este buba atunci? |
|
| Sus |
|
Birkoff
Data înscrierii: 18/Mar/2004
Mesaje: 2607
Locație: Bucuresti
|
| Trimis: Mie Sep 03, 2008 12:26 pm Titlul subiectului: |
|
|
buba e aici
$sess_file = "$sess_save_path/$id";
calea sau fisierul respectiv nu exista sau fisierul e gol sau e calea gresita sau pur si simplu nu ai drepturi de acces la acel fisier |
|
| Sus |
|
roman_marian
Data înscrierii: 24/Aug/2007
Mesaje: 16
|
| Trimis: Mie Sep 03, 2008 12:39 pm Titlul subiectului: |
|
|
normal, fisierul nu exista pentru ca nu la creat.normal ar trebui sa creeze sesiunea in acel folder...iar despre acces am dat chmod777.alceva nu mai stiu ce sai fac :(
Cod: function write ($id, $sess_data)
{
global $sess_save_path, $sess_session_name;
$sess_file = "$sess_save_path/$id";
if ($fp = @fopen($sess_file, "w+"))
{
return(fwrite($fp, $sess_data));
}
else
{
return(false);
}
} |
|
| Sus |
|
Birkoff
Data înscrierii: 18/Mar/2004
Mesaje: 2607
Locație: Bucuresti
|
| Trimis: Mie Sep 03, 2008 1:05 pm Titlul subiectului: |
|
|
ai specificat asta:
@ini_set("session.save_handler", "files");
session_start(); |
|
| Sus |
|
roman_marian
Data înscrierii: 24/Aug/2007
Mesaje: 16
|
| Trimis: Mie Sep 03, 2008 1:49 pm Titlul subiectului: |
|
|
dap aveai dreptate ...cu @ini_set("session.save_handler", "file");
session_start();
nu era.se pare ca-mi pierd timpul degeaba cu el , ca tot nu merge...alta eroare.
Warning: session_destroy() [<a href='function.session-destroy'>function.session-destroy</a>]: Session object destruction failed in D:\server\htdocs\hjh\hjhj\set\sess.inc on line 154
Cod: function destroy ($id)
{
global $sess_save_path, $sess_session_name;
$sess_file = "$sess_save_path/$id";
return(@unlink($sess_file));
}
multumesc oricum birkoff |
|
| Sus |
|
Birkoff
Data înscrierii: 18/Mar/2004
Mesaje: 2607
Locație: Bucuresti
|
| Trimis: Mie Sep 03, 2008 8:55 pm Titlul subiectului: |
|
|
nu ar trebui sa dai intai unset la variabilele de sesiune si abia apoi la fisier?
vezi session_destroy() sau unset() |
|
| Sus |
|
Hano
Data înscrierii: 22/Sep/2005
Mesaje: 58
|
| Trimis: Mie Sep 03, 2008 9:54 pm Titlul subiectului: |
|
|
Incearca asta:
Cod:
<pre>
<?php
ini_set("display_errors", 1);
error_reporting(E_ALL);
function open($save_path, $session_name)
{
global $sess_save_path;
$sess_save_path = $save_path;
return (true);
}
function close()
{
return (true);
}
function read($id)
{
global $sess_save_path;
$sess_file = "$sess_save_path/sess_$id";
return (string )@file_get_contents($sess_file);
}
function write($id, $sess_data)
{
global $sess_save_path;
$sess_file = "$sess_save_path/sess_$id";
if ($fp = @fopen($sess_file, "w"))
{
$return = fwrite($fp, $sess_data);
fclose($fp);
return $return;
}
else
{
return (false);
}
}
function destroy($id)
{
global $sess_save_path;
$sess_file = "$sess_save_path/sess_$id";
return (@unlink($sess_file));
}
function gc($maxlifetime)
{
global $sess_save_path;
foreach (glob("$sess_save_path/sess_*") as $filename)
{
if (filemtime($filename) + $maxlifetime < time())
{
@unlink($filename);
}
}
return true;
}
session_set_save_handler("open", "close", "read", "write", "destroy", "gc");
// system path, not http
ini_set('session.save_path', '/home/sessions');
$inis = ini_get('session.save_path');
session_start();
$_SESSION['key'] = "value";
print_r( $_SESSION );
print_r($inis);
?>
|
|
| Sus |
|
roman_marian
Data înscrierii: 24/Aug/2007
Mesaje: 16
|
| Trimis: Mie Sep 03, 2008 11:34 pm Titlul subiectului: |
|
|
degeaba, tot nu merge, pana la urma tot ceea ce am reusit sa fac , a fost sa scap de erori...sesiunea a pornit, dar fara s-o scrie in folder si nu-mi arata decat o pagina alba dupa logare...
Cod: <?php
ini_set('display_errors','1');
require_once("sql.inc");
function open ($save_path, $session_name) {
global $sess_save_path, $sess_session_name;
$sess_save_path = "sesiune";
$sess_session_name = $session_name;
return(true);
}
function close() {
return(true);
}
function read ($id) {
global $sess_save_path, $sess_session_name;
$sess_file = "$sess_save_path/$id";
if ($fp = @fopen($sess_file, "r")) {
$sess_data = fread($fp, filesize($sess_file));
return($sess_data);
} else {
return(""); // Must return "" here.
}
}
function write ($id, $sess_data)
{
global $sess_save_path, $sess_session_name;
$sess_file = "$sess_save_path/$id";
if ($fp = @fopen($sess_file, "w+"))
{
return(fwrite($fp, $sess_data));
}
else
{
return(false);
}
}
function destroy ($id)
{
global $sess_save_path, $sess_session_name;
$sess_file = "$sess_save_path/$id";
return(@unlink($sess_file));
}
/*********************************************
* WARNING - You will need to implement some *
* sort of garbage collection routine here. *
*********************************************/
function gc ($maxlifetime)
{
return true;
}
class sess extends sql
{
var $sess_sid;
function sess()
{
global $jy_sd;
ini_set('arg_separator.output','&');
ini_set('session.use_cookies','0');
ini_set('session.name','jy_sd');
$this->sess_sid=$jy_sd;
}
function sess_start()
{
session_set_save_handler ("open", "close", "read", "write", "destroy", "gc");
$SEED="lkjhgfdsamnbvqwercxztyuiop1234567890";
$nrsid=rand(9,14);
$nrmax=strlen($SEED)-1;
$auxsid="";
for($i=0;$i<$nrsid;$i++)
{
$aux=rand(0,$nrmax);
$auxsid.=$SEED{$aux};
}
$this->sess_sid=$auxsid;
session_id($this->sess_sid);
session_start();
}
function sess_continue()
{
session_set_save_handler ("open", "close", "read", "write", "destroy", "gc");
session_id($this->sess_sid);
session_start();
}
function sess_set($aux,$value=false)
{
$ret=false;
if(isset($_SESSION[$aux])) $ret=$_SESSION[$aux];
if($value)
$_SESSION[$aux]=$value;
return($ret);
}
function sess_room_update()
{
if(isset($_SESSION["r"]))
while($aux=each($_SESSION["r"]))
{
$rm=$aux["key"];
if($aux["value"]["tm"]<(time()-ROOM_LOSE_TIME))
unset($_SESSION["r"][$rm]);
}
}
function sess_room($rm,$vars=false)
{
$ret=false;
if(isset($_SESSION["r"][$rm])) $ret=$_SESSION["r"][$rm];
if($vars)
{
if(isset($_SESSION["r"][$rm]['tm']))
{
if($_SESSION["r"][$rm]["tm"]<$vars["tm"])
$_SESSION["r"][$rm]['tm']=$vars['tm'];
}
else $_SESSION["r"][$rm]['tm']=$vars['tm'];
if(isset($vars['nm']))
$_SESSION["r"][$rm]['nm']=$vars['nm'];
if(isset($vars['rad']))
$_SESSION["r"][$rm]['rad']=$vars['rad'];
if(isset($vars['rpw']))
$_SESSION["r"][$rm]['rpw']=$vars['rpw'];
}
return($ret);
}
function sess_isgood($aux="id")
{
if(isset($_SESSION[$aux])) return($_SESSION[$aux]);
else return(false);
}
function sess_vars($aux,$value=false)
{
if(!is_bool($value))
$_SESSION[$aux]=$value;
else return($_SESSION[$aux]);
}
function sess_unset($aux)
{
unset($_SESSION[$aux]);
}
function sess_stop()
{
session_unset();
session_destroy ();
}
}
?>
asa arata codul initial, poate ajuta cu ceva...multumesc mult! |
|
| Sus |
|
Hano
Data înscrierii: 22/Sep/2005
Mesaje: 58
|
| Trimis: Joi Sep 04, 2008 5:22 pm Titlul subiectului: |
|
|
| Aha, ti-ai prins urechile in codul euforia. |
|
| Sus |
|
roman_marian
Data înscrierii: 24/Aug/2007
Mesaje: 16
|
| Trimis: Joi Sep 04, 2008 6:44 pm Titlul subiectului: |
|
|
| i-am gasit buba... :D va multumesc pentru ajutor |
|
| Sus |
|
PHPRomania Bot
Bot Member
Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google |
| Trimis: Mie Dec 26, 2007 7:01 pm Titlul subiectului: Ad |
|
|
|
|
|
| Sus |
|
| |
|