class String extends stdClass
{
private $_val ='';
public function __construct( $str ='' )
{
$this->_val = $str;
}
public function __toString()
{
return $this->_val;
}
public function encode( $coder )
{
$coder ='encode_' . $coder;
if( method_exists( $this, $coder ) )
{
return $this->$coder();
}else{
return $this;
}
}
public function decode( $coder )
{
$coder ='decode_' . $coder;
if( method_exists( $this, $coder ) )
{
return $this->$coder();
}else{
return $this;
}
}
private function encode_md5()
{
return new String( md5( $this->_val ) );
}
private function decode_gbk()
{
return new String( iconv('GBK','UTF-8', $this->_val ) );
}
}
$s ='中国';
$os = new String( $s );
echo $os->decode('gbk') ,'';
echo $os->decode('gbk')->encode('md5'),'';
Cannot send session cache limiter
/*
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/canna/public_html/sites/default/settings.php教程:130) in /home/canna/public_html/includes/session.inc on line 10
warning: Cannot modify header information - headers already sent by (output started at /home/canna/public_html/sites/default/settings.php:130) in /home/canna/public_html/includes/common.inc on line 99.
any tips教程, ideas or solutions welcome :)
before I dig into the PHP (about which I know little or nothing) :-(
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at E:phpcodeadmin.php:1) in E:phpcodelogolistadminlogo.php on line 2
上网搜了一下,有人说是因为在session_start(); 语句之前有其他的html代码,但是我的session_start(); 已经在做前面了。
还有的说是因为没有设置session 保存路径,需要修改php.ini中的session.save_path = "C:/phpsession" [后边的路径自己设置,并且要保证存在。php.ini 文件一般应位于系统盘/Windows 目录下面]
但是我做如上设置之后还是会有这个提示。后来经过反复测试,终于解决问题。
解决办法:
修改php.ini中的session.auto_start = 0 为 session.auto_start = 1
Warning: Cannot send session cache limiter - headers already sent (output started at /home/alltom/public_html/flame/template.inc.php:1) in /home/alltom/public_html/flame/lib.inc.php on line 550
Whats wrong with that? I mean why am i getting it??
Line 547 to 550 in lib.inc.php:
session_set_save_handler('sess_open', '', 'sess_read', 'sess_write', 'sess_destroy', 'sess_gc');
session_name('s');
session_name('s');
session_start();
Im having problems with session_start() through out the site, any help???
看个实例
<?php
session_start();
echo 'Welcome to page #1';
$_SESSION['favcolor'] = 'green';
$_SESSION['animal'] = 'cat';
$_SESSION['time'] = time();
// Works if session cookie was accepted
echo '<br /><a href="page2.php">page 2</a>';
// Or maybe pass along the session id, if needed
echo '<br /><a href="page2.php?' . SID . '">page 2</a>';
?>
并且<? 前面不能有任何字符
但还有几种我没试,他们是
1.php.ini中的output_buffering=off 改成output_buffering=4096
2.php.ini中的session.save_path是否设置好了
3.pgp.ini中的session.auto_start = 0 改成session.auto_start = 1
/*
fdsfds
本站原创文章转载注明来自www.111cn.net
*/
<table class="table_list" >
<caption>
填写要更新的数据
</caption>
<tr>
<td class="align_c">无刷新保存</td>
<td >
<label>
<input name="ajaxdata" type="text" size="20" id="ajaxdata"/>
</label></td>
</tr>
<tr>
<td width="29%" class="align_c"> </td>
<td width="71%" ><label>
<input type="submit" name="button" onclick="return save();" value="提交" />
</label></td>
</tr>
</table>
<div id="www111cnnet"></div>
<script language="javascript教程">
var $=function(id) {
return document.getElementById(id);
}
function createXMLHttpRequest(){//创建XMLHttpRequest对象
if(window.ActiveXObject){//IE
try {
return new ActiveXObject("Microsoft.XMLHTTP");
} catch(e){
return;
}
}else if(window.XMLHttpRequest){//Mozilla,firefox
try {
return new XMLHttpRequest();
} catch(e){
return;
}
}
}
function save(){//主调函数
var xmlHttp=createXMLHttpRequest();
var url = "/save.php教程";
var ajaxdata = $('ajaxdata').value;
if (ajaxdata ==''){
alert(' www.111cn.net提示你:请填写数据 ');
return false ;
}
if (xmlHttp){
callback = getReadyStateHandler(xmlHttp);
xmlHttp.onreadystatechange = callback;
xmlHttp.open("POST", url,true);
xmlHttp.send(null);
}
}
function getReadyStateHandler(xmlHttp){//服务器返回后处理函数
return function (){
if(xmlHttp.readyState == 4){
if(xmlHttp.status == 200){
if (xmlHttp.responseText){
$('www111cnnet').innerHTML =xmlHttp.responseText;
}
}
}
}
}
</script>
<?
sava.php文件
mysql教程_connect("localhost","root","root") or die('Database Server Uid or Password Error!');
mysql_select_db('ip') or die('data !');
mysql_query("SET NAMES 'gb2312'");//设置文档与数据库教程编码一致就OK,否则会出乱码
$data = $_POST['ajaxdata'];
if( empty( $data ) )
{
echo '你未提供数据';
}
else
{
$sql = "Insert text(data)value('$data')";
if( mysql_query( $sql ) )
{
echo '数据保存成功';
}
else
{
echo '数据更新失败';
}
}
?>
本站原创文章转载注明来自www.111cn.net
*/
$array = array('jpg','gif','png','jpeg');
$picImg ='/upfile/upload_pic/thumbnail_1258615556.jpg';
$img = strtolower($picImg);
//获取文件件扩展名方法一
$ext = substr($img,strrpos($img,'.')+1);//这里是读取文件扩展名的代码
//获取文件件扩展名方法二
$ext = end(explode('.',$img));
//获取文件件扩展名方法三 这是应该是最安全的了,就是用php $_FILES['type']
$ext = $_FILES['file']['type'];
//获取文件件扩展名方法四
$ext = getimagesize($img);//这个函数返回一个数组
if( !in_array( $ext,$array ) )
{
exit('缩略图地址错误,请重新上传!');
}
else
{
echo('你上传的文件类型不允许');
exit;
}
/*
函数解析:
array 数组这个不说了
strtolower 把字符大字转换成小写
substr 字符截取,对中文处理不友好。
strrpos 判断字符出现在指定字符串中的位置
explode 分割函数,返回结果为数组
end 读取数据最后一个值
$_FILES 全局变量文件上传
getimagesize 获取图片的类型
in_array 判断当变量是否在数组中
exit 终止当前脚本运行
*/
/*
fdsfds
本站原创文章转载注明来自www.111cn.net
*/
?>
file_put_contents() 函数把一个字符串写入文件中 与依次调用 fopen(),fwrite() 以及 fclose() 功能一样
说明
参数 data 可以是数组(但不能是多维数组)。
自 PHP 5.1.0 起,data 参数也可以被指定为 stream 资源,stream 中所保存的缓存数据将被写入到指定文件中,这种用法就相似于使用 stream_copy_to_stream() 函数。
对 context 参数的支持是 PHP 5.0.0 添加的。
返回值
该函数将返回写入到文件内数据的字节数。
语法
file_put_contents(file,data,mode,context)
file 必需。规定要写入数据的文件。如果文件不存在,则创建一个新文件。
data 可选。规定要写入文件的数据。可以是字符串、数组或数据流。
mode 可选。规定如何打开/写入文件。可能的值:
FILE_USE_INCLUDE_PATH
FILE_APPEND
LOCK_EX
context 可选。规定文件句柄的环境。
context 是一套可以修改流的行为的选项。若使用 null,则忽略。
*/
$str ='本站原创文章转请注明来自www.111cn.net';
$file ='111cn.net.txt';
if( file_put_contents($file,$str) )
{
echo file_get_contents($file);
}
else
{
echo $file,'无法创建请查检权限';
}
// 本文章原创于www.111cn.net 转载注明出处
?>