php file_exists无效解决办法
方法1 : 据官方手册上描述若php教程的safe mode相关的设置过于苛刻,就会出现这样的情形:尽管文件真实存在也被误报,认为文件不存在。
由于服务器端的php.ini我们无法操纵,当用ini_set()也关闭不了safe mode模式,我们只有退而求其次,找一个更可靠、安全的检测方法来检测文件是否存在。我们可以借助 $_server['document_root'] 来加以实现。$_server['document_root'] 返回的是网站的根目录,该目录的最后一个子目录不包含目录标志符号“/”,如:
d:/www/htdocs
有了根目录,再加上需要检测的文件的路径,我们将得到一个绝对的路径,php就可以顺利使用file_exists()函数对之进行检测。上述代码我们只需要更改第一行为(注意,我们在config.php之前加上了符号“/”):
$file=$_server['document_root']."/config.php";
如此,代码的执行就很可信,不会出现预期以外的结果。
以上方法同样适用于目录(is_dir())或文件(is_file())的相关检测函数,能够检测出被安全保护的目录或文件是否存在。
最后顺便提一下:这类被php特殊设置所保护的文件在引用(include和require)时不必加上$_server['document_root']路径,因为,根据php说明文档,它们是允许引用的。
方法2:本人的情况是因为文件在windows和linux之间来回的移动。造成linux下文件和目录的访问权限被改变,导致出文件除拥有者外其他均无访问权限。使用chmod -r 755 xxx/* 解决了问题。
php教程中单引号与双引号的区别
引号中,任何变量($var)、特殊转义字符(如“t r n”等)不会被解析,因此php的解析速度更快,转义字符仅仅支持“’”和“”这样对单引号和反斜杠本身的转义;
在字串中使用变量
这个功能让你无须使用连接符号来粘和大量的简单字符串。php允许我们在双引号串中直接包含字
串变量,我们可以发现下面的两个字串的处理结果是相同的。
$full_name = $first_name . ' ' . $last_name;
$full_name = "$first_name $last_name";
单引号串和双引号串在php中的处理是不相同的。双引号串中的内容可以被解释而且替换,而单引
号串中的内容总被认为是普通字符。例如:
在字符串中引用复杂的变量组合时,可能会产生一些问题,下面的代码会正常工作:
echo "value = $foo";
echo "value = $a[$i]";
而下面的代码却不能得到我们希望的结果:
echo "value = $a[$i][$j]"; //我们希望打印二维数组$a的某个元素。
为避免这些字串使用中的潜在问题,我们通常把复杂的变量从字串中分离开来,就像这样:
echo 'value = ' . $a[$i][$j];
还有一种办法是将复杂变量用花括号括起来,语法分析器就能正确辨认了:
echo "value = {$a[$i][$j]}" //打印二维数组$a的某个元素
这样,又出现新问题了。当我们想在字串中引用花括号字符本身时,就要记得使用转义符了:
$var = 3;
echo "value = {$var}"; // 打印结果 "value = 3"
echo "value = {$var}"; // 打印结果 "value = {3}"
$foo = 2;
echo "foo is $foo"; // 打印结果: foo is 2
echo 'foo is $foo'; // 打印结果: foo is $foo
echo "foo is $foon"; // 打印结果: foo is 2 (同时换行)
echo 'foo is $foon'; // 打印结果: foo is $foon
双引号中,变量($var)值会代入字符串中,特殊转义字符也会被解析成特定的单个字符,还有一些专门针对上述两项特性的特殊功能性转义,例如“$”和“{$array[‘key’]}。这样虽然程序编写更加方便,但同时php的解析也很慢;
引号内部的变量不会执行
双引号会执行
如
$name = 'hello';
echo "the $name";
会输出 the hello
而如果是单引号
$name = 'hello';
echo 'the $name';
会输出 the $name
主要区别就是这个,其他的无所谓,看你自己喜欢了
推荐是保持一致,如用单引号其他地方保持一致就可以了,双亦然
ctrl+y查找:disable_functions
找到后在=后面添加
(这里都是禁止在php教程里面执行的函数)代码:
复制内容到剪贴板
exec,system,passthru,error_log,ini_alter,dl,openlog,syslog,readlink,
symlink,link,leak,fsockopen,proc_open,popepassthru,chroot,scandir,
chgrp,chown,escapeshellcmd,escapeshellarg,shell_exec,proc_get_status,popen
上面内容请放到一行。因为保持帖子的整体效果作了换行
一般后台只用加:
复制内容到剪贴板
disable_functions = system,passthru,shell_exec,com,exec,shell
查找:display_errors
如果是on的话改成off
查找:magic_quotes_gpc
如果是off的话改成on
查找:register_globals
如果是on的话改成off
查找:open_basedir
后面增加
/www/:/tmp/
这里是限制php可以访问的目录,后面一定要加上/,否则如果有/wwwabcd这个目录也会被访问得到
多个目录用英文:分隔。如果不添加/tmp/的话discuz!的上传功能就无法使用
注意:以上内容在php.ini的开头会有相关设置的提示,请按ctrl+x查找下一个,不要直接在上面修改
------------------------------
对php.ini优化
gd库的支持
;extension=php_gd2.dll
将前面的冒号去掉,
output_buffering = off
输出缓存允许你甚至在输出正文内容之后发送 header(标头,包括cookies)行 其代价是输出层减慢一点点速度。你可以使用输出缓存在运行时打开输出缓存, 或者在这里将指示设为 on 而使得所有文件的输出缓存打开。
output_handler = ; 你可以重定向你的脚本的所有输出到一个函数,
那样做可能对处理或以日志记录它有用。
例如若你将这个output_handler 设为ob_gzhandler, 则输出会被透明地为支持gzip或deflate编码的浏览器压缩。
设一个输出处理器自动地打开输出缓冲。
找到这个
output_buffering = off
修改为
on
注意,不要设置数值,只需要设置为on即可。
相应的,你还可以在你的discuz后台,打开gzip支持,也是优化的一项内容。
有些朋友为了安全,还启用了php的安全模式,这个也是一办法
另外有些朋友需要使用全局变量和magic,这是一些php程序的必备条件,discuz2.0也需要
可以打开,不过安全性能将降低,方法很简单。
register_globals = off ;
将其修改为on即可.
一些朋友经常反映无法上传较大的文件或者后台备份数据经常超时
max_execution_time = 30 ; 这个是每个脚本运行的最长时间,可以自己修改加长,单位秒
max_input_time = 60 ; 这是每个脚本可以消耗的时间,单位也是秒
memory_limit = 8m ; 这个是脚本运行最大消耗的内存,也可以自己加大
upload_max_filesize = 2m ; 上载文件的最大许可大小 ,自己改吧,一些图片论坛需要这个更大的值
如果:
php报错显示php has encountered an access violation at xxxxxx解决办法
很多人说,是php版本的问题,其实不然,可以从四个地方来看这个问题
1,是否zend所需的dll文件所在目录给的权限不够,必须有读取和运行的权限
2,是否使用的2003,设置过应用池,比如池中限制了什么什么,调整一下再试试看,是否好了,呵呵
3,php.ini有两个地方没有设置,而且一些程序必须用到的
将;upload_tmp_dir该行的注释符,使该行在php.ini文档中起作用。
upload_tmp_dir是用来定义上传文件存放的临时路径,在这里你还可以给其定义一个绝对路径,
例如:upload_tmp_dir = d:upload 当然,此时你的d:upload目录必须有读写权限。
这里我设置为
upload_tmp_dir = c:temp
出现这样的错误语句一般是因为你的php.ini中关于session.save_path一项没有设置好,
解决的方法是将session.save_path和session.cookie_path 设置置为
session.save_path = c:temp
session.cookie_path = c:temp(我没有修改这项,我发现修改后的验证玛不能用)
然后在c:目录下建立一个temp目录
常量在使用前必须要定义,否则程序执行会出错。在php教程中使用define()函数来定义常量。
1、语法格式:define("常量名称","常量的值");
例如:define("php360","完美的php");
下面还是来一个范例吧:
define() 函数定义一个常量。
常量类似变量,不同之处在于:
在设定以后,常量的值无法更改
常量名不需要开头的美元符号 ($)
作用域不影响对常量的访问
常量值只能是字符串或数字
语法
define(name,value,case_insensitive)参数 描述
name 必需。规定常量的名称。
value 必需。规定常量的值。
case_insensitive 必需。规定常量的名称是否对大小写敏感。
若设置为 true,则对大小写不敏感。默认是 false(大小写敏感)。
*/
define("greeting","hello world!");
echo constant("greeting");
/*
运行这段代码,就会在浏览器输出 hello world! 的结果。
2、常量命名的规则:以字母或下划线开始,后面可以跟任何字母、数字、下划线。
3、常量与变量的不同之处:
(1)常量前面没有$符号,而变量必须以$符号开头。
(2)常量只能用define()函数来定义,不能通过赋值语句定义。
(3)常量可以不用理会变量范围的规则,可以在任何地方定义和访问。
(4)常量一旦被定义就不能够重新定义或取消定义,并且值不能发生改变,而变量的值可以随时发生改变。
(5)常量的值只能是标量,即整型、浮点型、字符串3种类型*/
name | default | changeable |
---|---|---|
com.allow_dcom | "0" | php教程_ini_system |
com.autoregister_typelib | "0" | php_ini_system |
com.autoregister_verbose | "0" | php_ini_system |
com.autoregister_casesensitive | "1" | php_ini_system |
com.typelib_file | "" | php_ini_system |
crack.default_dictionary | null | php_ini_system |
exif.encode_unicode | "iso-8859-15" | php_ini_all |
exif.decode_unicode_motorola | "ucs-2be" | php_ini_all |
exif.decode_unicode_intel | "ucs-2le" | php_ini_all |
exif.encode_jis | "" | php_ini_all |
exif.decode_jis_motorola | "jis" | php_ini_all |
exif.decode_jis_intel | "jis" | php_ini_all |
fbsql.allow_persistent | "1" | php_ini_system |
fbsql.generate_warnings | "0" | php_ini_system |
fbsql.autocommit | "1" | php_ini_system |
fbsql.max_persistent | "-1" | php_ini_system |
fbsql.max_links | "128" | php_ini_system |
fbsql.max_connections | "128" | php_ini_system |
fbsql.max_results | "128" | php_ini_system |
fbsql.batchsize | "1000" | php_ini_system |
fbsql.default_host | null | php_ini_system |
fbsql.default_user | "_system" | php_ini_system |
fbsql.default_password | "" | php_ini_system |
fbsql.default_database | "" | php_ini_system |
fbsql.default_database_password | "" | php_ini_system |
hwapi.allow_persistent | "0" | php_ini_system |
hyperwave.allow_persistent | "0" | php_ini_system |
hyperwave.default_port | "418" | php_ini_all |
iconv.input_encoding | iconv_input_encoding | php_ini_all |
iconv.output_encoding | iconv_output_encoding | php_ini_all |
iconv.internal_encoding | iconv_internal_encoding | php_ini_all |
ifx.allow_persistent | "1" | php_ini_system |
ifx.max_persistent | "-1" | php_ini_system |
ifx.max_links | "-1" | php_ini_system |
ifx.default_host | null | php_ini_system |
ifx.default_user | null | php_ini_system |
ifx.default_password | null | php_ini_system |
ifx.blobinfile | "1" | php_ini_all |
ifx.textasvarchar | "0" | php_ini_all |
ifx.byteasvarchar | "0" | php_ini_all |
ifx.charasvarchar | "0" | php_ini_all |
ifx.nullformat | "0" | php_ini_all |
ingres.allow_persistent | "1" | php_ini_system |
ingres.max_persistent | "-1" | php_ini_system |
ingres.max_links | "-1" | php_ini_system |
ingres.default_database | null | php_ini_all |
ingres.default_user | null | php_ini_all |
ingres.default_password | null | php_ini_all |
ibase.allow_persistent | "1" | php_ini_system |
ibase.max_persistent | "-1" | php_ini_system |
ibase.max_links | "-1" | php_ini_system |
ibase.default_user | null | php_ini_all |
ibase.default_password | null | php_ini_all |
ibase.timestampformat | "%m/%d/%y%h:%m:%s" | php_ini_all |
ibase.dateformat | "%m/%d/%y" | php_ini_all |
ibase.timeformat | "%h:%m:%s" | php_ini_all |
java.class.path | null | php_ini_all |
java.home | null | php_ini_all |
java.library.path | null | php_ini_all |
java.library | javalib | php_ini_all |
java.library | null | php_ini_all |
ldap.max_links | "-1" | php_ini_system |
mbstring.detect_order | null | php_ini_all |
mbstring.http_input | null | php_ini_all |
mbstring.http_output | null | php_ini_all |
mbstring.internal_encoding | null | php_ini_all |
mbstring.substitute_character | null | php_ini_all |
mbstring.func_overload | "0" | php_ini_system |
mcrypt.algorithms_dir | null | php_ini_all |
mcrypt.modes_dir | null | php_ini_all |
mime_magic.magicfile | "/usr/share/misc/magic.mime" | php_ini_system |
mssql.allow_persistent | "1" | php_ini_system |
mssql.max_persistent | "-1" | php_ini_system |
mssql.max_links | "-1" | php_ini_system |
mssql.max_procs | "25" | php_ini_all |
mssql.min_error_severity | "10" | php_ini_all |
mssql.min_message_severity | "10" | php_ini_all |
mssql.compatability_mode | "0" | php_ini_all |
mssql.connect_timeout | "5" | php_ini_all |
mssql.timeout | "60" | php_ini_all |
mssql.textsize | "-1" | php_ini_all |
mssql.textlimit | "-1" | php_ini_all |
mssql.batchsize | "0" | php_ini_all |
mssql.datetimeconvert | "1" | php_ini_all |
mssql.secure_connection | "0" | php_ini_system |
mysql教程.allow_persistent | "1" | php_ini_system |
mysql.max_persistent | "-1" | php_ini_system |
mysql.max_links | "-1" | php_ini_system |
mysql.default_host | null | php_ini_all |
mysql.default_user | null | php_ini_all |
mysql.default_password | null | php_ini_all |
mysql.default_port | null | php_ini_all |
mysql.default_socket | null | php_ini_all |
ncurses.value | "42" | php_ini_all |
ncurses.string | "foobar" | php_ini_all |
odbc.allow_persistent | "1" | php_ini_system |
odbc.max_persistent | "-1" | php_ini_system |
odbc.max_links | "-1" | php_ini_system |
odbc.default_db | null | php_ini_all |
odbc.default_user | null | php_ini_all |
odbc.default_pw | null | php_ini_all |
odbc.defaultlrl | "4096" | php_ini_all |
odbc.defaultbinmode | "1" | php_ini_all |
odbc.check_persistent | "1" | php_ini_system |
pfpro.defaulthost | "test.signio.com" | |
pfpro.defaulthost | "test-payflow.verisign.com" | |
pfpro.defaultport | "443" | php_ini_all |
pfpro.defaulttimeout | "30" | php_ini_all |
pfpro.proxyaddress | "" | php_ini_all |
pfpro.proxyport | "" | php_ini_all |
pfpro.proxylogon | "" | php_ini_all |
pfpro.proxypassword | "" | php_ini_all |
pgsql.allow_persistent | "1" | php_ini_system |
pgsql.max_persistent | "-1" | php_ini_system |
pgsql.max_links | "-1" | php_ini_system |
pgsql.auto_reset_persistent | "0" | php_ini_system |
pgsql.ignore_notice | "0" | php_ini_all |
pgsql.log_notice | "0" | php_ini_all |
session.save_path | "/tmp" | php_ini_all |
session.name | "phps教程essid" | php_ini_all |
session.save_handler | "files" | php_ini_all |
session.auto_start | "0" | php_ini_all |
session.gc_probability | "1" | php_ini_all |
session.gc_divisor | "100" | php_ini_all |
session.gc_maxlifetime | "1440" | php_ini_all |
session.serialize_handler | "php" | php_ini_all |
session.cookie_lifetime | "0" | php_ini_all |
session.cookie_path | "/" | php_ini_all |
session.cookie_domain | "" | php_ini_all |
session.cookie_secure | "" | php_ini_all |
session.use_cookies | "1" | php_ini_all |
session.use_only_cookies | "0" | php_ini_all |
session.referer_check | "" | php_ini_all |
session.entropy_file | "" | php_ini_all |
session.entropy_length | "0" | php_ini_all |
session.cache_limiter | "nocache" | php_ini_all |
session.cache_expire | "180" | php_ini_all |
session.use_trans_sid | "0" | php_ini_system php_ini_perdir |
session.encode_sources | "globals,track" | php_ini_all |
assert.active | "1" | php_ini_all |
assert.bail | "0" | php_ini_all |
assert.warning | "1" | php_ini_all |
assert.callback | null | php_ini_all |
assert.quiet_eval | "0" | php_ini_all |
safe_mode_protected_env_vars | safe_mode_protected_env_vars | php_ini_system |
safe_mode_allowed_env_vars | safe_mode_allowed_env_vars | php_ini_system |
url_rewriter.tags | "a=href,area=href, frame=src, form=fakeentry" |
php_ini_all |
sybct.allow_persistent | "1" | php_ini_system |
sybct.max_persistent | "-1" | php_ini_system |
sybct.max_links | "-1" | php_ini_system |
sybct.min_server_severity | "10" | php_ini_all |
sybct.min_client_severity | "10" | php_ini_all |
sybct.hostname | null | php_ini_all |
vpopmail.directory | "" | php_ini_all |
zlib.output_compression | "0" | php_ini_system php_ini_perdir |
zlib.output_compression_level | "-1" | php_ini_all |
define_syslog_variables | "0" | php_ini_all |
highlight.bg | hl_bg_color | php_ini_all |
highlight.comment | hl_comment_color | php_ini_all |
highlight.default | hl_default_color | php_ini_all |
highlight.html | hl_html_color | php_ini_all |
highlight.keyword | hl_keyword_color | php_ini_all |
highlight.string | hl_string_color | php_ini_all |
allow_call_time_pass_reference | "1" | php_ini_system php_ini_perdir |
asp教程_tags | "0" | php_ini_system php_ini_perdir |
display_errors | "1" | php_ini_all |
display_startup_errors | "0" | php_ini_all |
enable_dl | "1" | php_ini_system |
expose_php | "1" | php_ini_system |
html_errors | "1" | php_ini_all |
xmlrpc_errors | "0" | php_ini_system |
xmlrpc_error_number | "0" | php_ini_all |
ignore_user_abort | "0" | php_ini_all |
implicit_flush | "0" | php_ini_all |
log_errors | "0" | php_ini_all |
log_errors_max_len | "1024" | php_ini_all |
ignore_repeated_errors | "0" | php_ini_all |
ignore_repeated_source | "0" | php_ini_all |
magic_quotes_gpc | "1" | php_ini_perdir php_ini_system |
magic_quotes_runtime | "0" | php_ini_all |
magic_quotes_sybase | "0" | php_ini_all |
output_buffering | "0" | php_ini_perdir php_ini_system |
output_handler | null | php_ini_perdir php_ini_system |
register_argc_argv | "1" | php_ini_perdir php_ini_system |
register_globals | "0" | php_ini_perdir php_ini_system |
safe_mode | "1" | php_ini_system |
safe_mode | "0" | php_ini_system |
safe_mode_include_dir | null | php_ini_system |
safe_mode_gid | "0" | php_ini_system |
short_open_tag | default_short_open_tag | php_ini_system php_ini_perdir |
sql.safe_mode | "0" | php_ini_system |
track_errors | "0" | php_ini_all |
y2k_compliance | "0" | php_ini_all |
unserialize_callback_func | null | php_ini_all |
arg_separator.output | "&" | php_ini_all |
arg_separator.input | "&" | php_ini_system php_ini_perdir |
auto_append_file | null | php_ini_system php_ini_perdir |
auto_prepend_file | null | php_ini_system php_ini_perdir |
doc_root | null | php_ini_system |
default_charset | sapi_default_charset | php_ini_all |
default_mimetype | sapi_default_mimetype | php_ini_all |
error_log | null | php_ini_all |
extension_dir | php_extension_dir | php_ini_system |
gpc_order | "gpc" | php_ini_all |
include_path | php_include_path | php_ini_all |
max_execution_time | "30" | php_ini_all |
open_basedir | null | php_ini_system |
safe_mode_exec_dir | "1" | php_ini_system |
upload_max_filesize | "2m" | php_ini_system php_ini_perdir |
file_uploads | "1" | php_ini_system |
post_max_size | "8m" | php_ini_system php_ini_perdir |
upload_tmp_dir | null | php_ini_system |
user_dir | null | php_ini_system |
variables_order | null | php_ini_all |
error_append_string | null | php_ini_all |
error_prepend_string | null | php_ini_all |
smtp | "localhost" | php_ini_all |
smtp_port | 25 | php_ini_all |
browscap | null | php_ini_system |
error_reporting | null | php_ini_all |
memory_limit | "8m" | php_ini_all |
precision | "14" | php_ini_all |
sendmail_from | null | php_ini_all |
sendmail_path | default_sendmail_path | php_ini_system |
disable_classes | "" | php.ini only |
disable_functions | "" | php.ini only |
allow_url_fopen | "1" | php_ini_all |
always_populate_raw_post_data | "0" | php_ini_system php_ini_perdir |
xbithack | "0" | php_ini_all |
engine | "1" | php_ini_all |
last_modified | "0" | php_ini_all |
child_terminate | "0" | php_ini_all |
async_send | "0" | php_ini_all |
可操作范围见下表:
constant | value | meaning |
---|---|---|
php_ini_user | 1 | entry can be set in user scripts |
php_ini_perdir | 2 | entry can be set in php.ini, .htaccess or httpd.conf |
php_ini_system | 4 | entry can be set in php.ini or httpd.conf |
php_ini_all | 7 | entry can be set anywhere |
常量 | 值 | 含义 |
---|---|---|
php_ini_user | 1 | 该项目可以在用户脚本中设定 |
php_ini_perdir | 2 | 该项目可以在 php.ini ,.htaccess 或者 httpd.conf 中设定 |
php_ini_system | 4 | 该项目可以在 php.ini 或 httpd.conf 中设定 |
php_ini_all | 7 | 该项目可以在任何地方设定 |
ini_set ini_get 可操作配置参数列表
获取 magic_quotes_gpc 状态,来决定当表单提交时我们是否转义(addslashes)数据;
设定 max_execution_time 来延长 程序的执行时间;
设定 error_reporting 使自己的项目在开发与运营阶段切换;
设定 memory_limit 加大内存等等…
view sourceprint?1 ini_set (string varname, string newvalue ) : //设定环境配置的参数
2 ini_get (string varname) : //获取环境配置的参数
php ini_set函数是设置选项中的值,在执行函数后生效,脚本结束的时候,这个设置也失效。不是所有的选项都能被改函数设置的。具体那些值能够设置,可以查看手册中的列表。
就是能够设置php.ini中的选项值比如,display_error选项关闭 了,但是你要显示程序中的错误信息,方便你调试程序,那么就可以使用php ini_set函数:
view sourceprint?1 ini_set ( 'display_errors' , 'on' );
那么在你这个页面的程序都会显示错误信息了,而且你还可以使用error_reporting来设置显示的错误信息级别。
如果你需要增加脚本执行时间,那么可以设置:
view sourceprint?1 ini_set('max_execution_time', '180');
那么脚本执行时间就由默认的30秒变为180秒,当然,你也可以使用set_time_limit()来设置。
其实你把php ini_set函数和ini_get结合使的话,非常好。比如你想在配置文件里添加自己的包含文件路径,但是你有没有权限更改php.ini,那么你可以 结合两个函数:
view sourceprint?1 ini_set ( 'include_path' , ini_get ( 'include_path' ). ':/your_include_dir:' );
php配置函数ini_get()相信很多人都使过,就是获取配置文件中某一个选项的值,如果是true值就返回1,如果是false值就返回0,字符串就返回字符串。
比如手册中的例子:
view sourceprint?1 <?php
2 /* our php.ini contains the following settings: display_errors = on register_globals = off post_max_size = 8m */
3
4 echo 'display_errors = ' . ini_get ( 'display_errors' ) . " " ; //显示错误是否打开
5 echo 'register_globals = ' . ini_get ( 'register_globals' ) . " " ; //全局变量是否打开
6 echo 'post_max_size = ' . ini_get ( 'post_max_size' ) . " " ; //最多能提交的文件大小
7 echo 'post_max_size+1 = ' . ( ini_get ( 'post_max_size' )+1) . " " ;
8
9 ?>
输出:
display_errors = 1
register_globals = 0
post_max_size = 8m
post_max_size+1 = 9
php配置函数ini_get()主要是为了获取配置文件,可以方便你很多操作。 比如你想操作字符串过滤,但是又不清楚 magic_quotes_gpc有没有打开,所以你就可以这样写一个函数:
view sourceprint?1 <?php
2 /* 字符串过滤函数 */
3 function stringfilter( $str ) {
4 if ( ini_get ( 'magic_quotes_gpc)' ) { return $str ; } else { return addslashes ( $str ); }
5 }
6 ?>
当然,如果你无法知道你的全局变量是否打开,也可以定制这样的函数:
view sourceprint?1 <?php
2 /* 变量检测函数 */
3 function getgetvar( $var ) {
4 if ( ini_set ( 'register_gobals' )){ return $var ; } else { return $_get [ 'var' ]; }
5 }
6 ?>
当然,你可以用php配置函数ini_get()做很多用途
相关文章
PHP session_start()很慢问题分析与解决办法
本文章来给各位同学介绍一下关于PHP session_start()很慢问题分析与解决办法,希望碰到此问题的同学可进入参考。 最近在做东西的时候发现一个问题 有一个接口挂...2016-11-25php中json_decode()和json_encode()用法与中文不显示解决办法
本文章介绍了关于php中json_decode()和json_encode()用法与中文不显示解决办法,有需要的朋友可以参考一下下。 php中json_decode()和json_encode() 1.json_decode(...2016-11-25- 在php中我们如果要导入excel数据我们通常会使用phpexcel插件了,但是有朋友会发与使用phpexcel导出数据出现身份证后四位是0000情况了,下面我们就来看解决办法。 最...2016-11-25
- 401是HTTP状态码的一种,属于“请示错误”,表示请求可能出错,已妨碍了服务器对请求的处理。具体的401错误是指:未授权,请求要求进行身份验证。登录后,服务器可能会返回对页面...2017-01-22
- Apache status 503 的原因大致有如下几种情况 : 1、 CPU 负载过高,服务器响应不过来,返回503 2、 系统连接数超限,超过MaxVhostClients的上限,返回503 3、 单IP连接数超限,超过M...2016-01-28
- 今天用CPAN安装Term::ReadLine,报了个这样的错误 Going to read /root/.cpan/sources/modules/03modlist.data.gz Can't locate object method "data" via package "C...2016-11-25
- 下面给大家介绍phpstudy访问速度慢的解决办法。1、修改mysql数据库链接地址为ip地址127.0.0.1。2、使用最新版本,这个坑了我好久时间。下面一段内容是关于phpstudy启动失败的解决办法。php5.3、5.4和apache都是用vc9编...2015-11-24
- 自己用的小PHP应用,使用curl抓网页下来处理,为了穿墙方便,使用Privoxy作为代理,便于选择哪些网站使用proxy、哪些不用。但今天却遇到了奇怪的问题,访问google baidu这些网站居然都返回403错误,而访问其他的一些网站没事,如果...2014-05-31
- 分享给大家php判断上传文件类型的方法,大家一起学习学习。/** * 读取文件前几个字节 判断文件类型 * @return String */ function checkTitle($filename){ $file=fopen($filename, "rb"); $bin=fread($file, 2); /...2015-10-21
android.os.BinderProxy cannot be cast to com解决办法
本文章来给大家介绍关于android.os.BinderProxy cannot be cast to com解决办法,希望此文章对各位有帮助呀。 Android在绑定服务的时候出现java.lang.ClassCastExc...2016-09-20- 1.用phpmyadmin创建数据库和数据表 创建数据库的时候,请将“整理”设置为:“utf8_general_ci” 或执行语句: 复制代码 代码如下:CREATE DATABASE `dbname` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 创...2015-10-21
php的mail函数发送UTF-8编码中文邮件时标题乱码的解决办法
最近遇到一个问题,就是在使用php的mail函数发送utf-8编码的中文邮件时标题出现乱码现象,而邮件正文却是正确的。最初以为是页面编码的问题,发现页面编码utf-8没有问题啊,找了半天原因,最后找到了问题所在。 1.使用 PEAR 的...2015-10-21- 对于乱码这个问题php开发者几乎都会有碰到过,我们下面主要是介绍了php文件乱码和页面乱码。PHP页面转UTF-8编码问题 1.在代码开始出加入一行: header("Content-Type: text/html;charset=utf-8"); 2.PHP文件编码问题...2015-10-21
- 下面来给各位简单的介绍一下关于Android开发之PhoneGap打包及错误解决办法,希望碰到此类问题的同学可进入参考一下哦。 在我安装、配置好PhoneGap项目的所有依赖...2016-09-20
Ubuntu15下mysql5.6.25不支持中文的解决办法
apt-get install 安装的,不是源码包安装的mysql1 修改mysql的配置文件/etc/mysql/conf.d/mysql.cnf在[mysql]的下方加入如下语句:(注:这个文件下没有配置,只有【mysql】)no-auto-rehash default-character-set=utf8/etc/...2015-10-21Spring Data JPA 关键字Exists的用法说明
这篇文章主要介绍了Spring Data JPA 关键字Exists的用法说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-06-10- 本文章来给大家介绍php mail发邮件标题中文乱码的问题解决办法,希望到此类问题的朋友可进入参考。 当使用下面的PHP语句发送电子邮件的时候,如果编码和接收邮箱编码...2016-11-25
- 刚升级一会就出现 Multiple primary key definedalter table ***_ecms_infoclass_shop change classid classid int(10) unsigned NOT NULL default '0', DROP INDEX clas...2013-05-20
- FlashFXP是一款常用的服务器客户连接软件了,我们可以通过FlashFXP来上传或下载文件,但有一些朋友使用FlashFXP时碰到中文目录或文件名乱码问题,那么要如何来解决呢?具体就...2016-10-10
Fatal error: Cannot redeclare class 原因分析与解决办法
我使用的都是php __autoload状态自动加载类的,今天好好的程序不知道怎么在运行时提示Fatal error: Cannot redeclare class 了,看是重复定义了类,下面我来分析一下解决办...2016-11-25