刚转行PHP 问几个问题 有愿意回答的来

8612177 2009-07-03 11:14:27
下了几份 代码 看到 里面有的方法 前面加 @符号 什么意思?
比如 @dheader('Content-Type: text/html; charset='.$charset);

谁告诉我下 @ 干么用的?

再就是 PHP有没有 类似 JAVA 监听器servlet 或者 .net程序里global文件中的 当session 创建的时候调用的方法 当session销毁的时候调用的方法 .

再就是 本人想写套 windows linux下都能跑起来的程序。应该注意那些地方??
...全文
71 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
foolbirdflyfirst 2009-07-03
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 8612177 的回复:]
我的意思是 有每没 当一个session创建的时候 自动去调用的方法
类似回调函数。
比如当session消毁的时候 是因为 超过默认时间而消毁。这个时候有没有我能用的函数

再就是 用 global 定义的变量 作用域 是多大啊?
[/Quote]
手册下session_set_save_handler
dhgdmw 2009-07-03
  • 打赏
  • 举报
回复
session回调函数木有,除非session进行数据库保存,然后可以自己模拟一个回调函数
不管什么变量,在PHP执行完后全部销毁,global定义的变量也一样,当然,其作用域在PHP执行期间是全局可用的。
8612177 2009-07-03
  • 打赏
  • 举报
回复
我的意思是 有每没 当一个session创建的时候 自动去调用的方法
类似回调函数。
比如当session消毁的时候 是因为 超过默认时间而消毁。这个时候有没有我能用的函数

再就是 用 global 定义的变量 作用域 是多大啊?
tfxg 2009-07-03
  • 打赏
  • 举报
回复
一般php程序在windows和linux不用需要特別修改什麼,除非你創建一些windows下的com對象並進行操作,那在linux下是沒辦法了
tfxg 2009-07-03
  • 打赏
  • 举报
回复
大小寫要識別,特別是操作數據庫時,$row[Name]和$row[name]是不一樣的
wang_quan_li 2009-07-03
  • 打赏
  • 举报
回复
@表示不显示执行函数时出现的出错提示
php本身就支持跨平台,windows linux下都能跑起来的
铁马渡江河 2009-07-03
  • 打赏
  • 举报
回复
关注第三个问题。
tfxg 2009-07-03
  • 打赏
  • 举报
回复
@表示不顯示執行函數時出現的出錯提示
session_start();
$_SESSION['name'] = "8612177";//創建一個session變量

session_destroy();//銷毀session
yctin 2009-07-03
  • 打赏
  • 举报
回复
@ 最好不要用
yctin 2009-07-03
  • 打赏
  • 举报
回复
下了几份 代码 看到 里面有的方法 前面加 @符号 什么意思?
比如 @dheader('Content-Type: text/html; charset='.$charset);
谁告诉我下 @ 干么用的?
强制隐藏错误信息并继续运行程式

再就是 PHP有没有 类似 JAVA 监听器servlet 或者 .net程序里global文件中的 当session 创建的时候调用的方法 当session销毁的时候调用的方法 .
有callback 可以设,找manual

再就是 本人想写套 windows linux下都能跑起来的程序。应该注意那些地方??
主要是路径问题,如 / or \
再有就是有些特殊的function是各系统独有,一般都是linux 有,window 不能跑
jlzan1314 2009-07-03
  • 打赏
  • 举报
回复
@dheader('Content-Type: text/html; charset='.$charset);
你这个代码是这样的,如果没有@号将输出错误.
这段代码很容易错,因为header()一个头给客户端,在这之前一定不能有输出.就是说发送头要在输出流之前.
echo '什么的';
dheader('Content-Type: text/html; charset='.$charset); 这个就会报错

echo '什么的';
@dheader('Content-Type: text/html; charset='.$charset); 这个不会,但是头不会发出去.
chenping1984 2009-07-03
  • 打赏
  • 举报
回复
PHP有没有 类似 JAVA 监听器servlet 或者 .net程序里global文件中的 当session 创建的时候调用的方法 当session销毁的时候调用的方法 .;

function open_session(){
echo '启动SESSION <br>';
}
function close_session(){
echo 'close session <br>';
//return true;
}
function read_session(){
echo '读取session <br>';
//return "";
}
function write_session(){
echo '写入session <br>';
//return true;
}
function destory_session(){
echo '释放资源 <br>';
//return true;
}
function gc(){
return true;
}
session_set_save_handler("open_session","close_session","read_session","write_session","destory_session","gc");

@session_start();
session_destroy();

你只要在 open_session 和 destory_session 里面写上 开始session 要处理的事件和 destory_session 要处理的事件就行
其他函数 直接 return true;就行了。.这就达到你的效果了.


wubreeze 2009-07-03
  • 打赏
  • 举报
回复
[Quote=引用楼主 8612177 的帖子:]
下了几份 代码 看到 里面有的方法 前面加 @符号 什么意思?
比如 @dheader('Content-Type: text/html; charset='.$charset);

谁告诉我下 @ 干么用的?

再就是 PHP有没有 类似 JAVA 监听器servlet 或者 .net程序里global文件中的  当session 创建的时候调用的方法 当session销毁的时候调用的方法 .

再就是 本人想写套 windows linux下都能跑起来的程序。应该注意那些地方??
[/Quote]
建议自己利用数据 做session,完全自己控制。我一直都是这样的,而且可以实现多种语言如CGI、PHP的共用。
frederic_zhao 2009-07-03
  • 打赏
  • 举报
回复
说一下global吧

不管是global还是$GLOBALS,作用域都是php执行脚本中。


<?php
$a = 1;
$b = 2;

function Sum()
{
global $a, $b;

$b = $a + $b;
}

Sum();
echo $b;
?>


21,891

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧