您的位置:首页 > 编程语言 > PHP开发

8.18 php基础

2013-08-23 17:18 141 查看
1.echo“<pre>”的作用:$arr=array(1,2,3);
print_r($arr)==>array(0=>1,1=>2,2=>3,)echo“<pre>”;
print_r($arr);
//print_rvar_dump在打印数据时,默认都是有换行和空格的,我们保留格式就能看到
echo“</pre>”;
==>array(
0=>1,
1=>2,
2=>3,
)2.$str=’13<b>aa</b>56
ttttt
xxxx’;怎么将该字符串原样输出,包括<b></b>也原样输出呢?
浏览器对格式的处理顺序如下:
先对html标签替换
浏览器把回车换行、制表符、连续的多个空格,都替换成单个空格,注意是单个空格)方法1:
先将html标签保留,在保留空格
echo“<pre>”.htmlentries($str).”</pre>”;方法2:
str_replace(array(“\n”,">”,”<”,”“),array(“ ”,”>”,'”<”,” ”),$str)
注意:在替换时,如果’\n’用单引号,则无效果,这是为什么呢?为什么呢?
你想一想:
’\n’和“\n”是不一样的啊:
‘\n’代表的是\n这个字符;
”\n”代表的是换行符.
比如:str=”a\n
b”;
str_replace(“\n”,’11’,str)//\n匹配换行也匹配\n
str_replace(‘\n’,xxx,str)//仅匹配\n
3.为了兼容多中系统:
//替换顺序
$str="Line1\nLine2\rLine3\r\nLine4\n";
$order=array("\r\n","\n","\r");
$replace='<br/>';
//首先替换\r\n字符,因此它们不会被两次转换
$newstr=str_replace($order,$replace,$str);4.eclipse报错:“startrublebundlemanager”解决方法:(在path中找不到java,没有解决)
环境变量:Path=路径把%Java_Home%\Bin;放到最开头,问题即解决.原因是安装了其他软件修改了该路径导致。5.删除数组中value为$value的值:
$arr=array('a','b','c','d','e','a');

$arr=array_flip($arr);

unset($arr['a']);

$arr=array_flip($arr);

var_dump($arr);


[align=left]
6.将对象也array_flip调用:
[/align]
[align=left]
array_flip((array)$object)
[/align]
[align=left]
[/align]
[align=left]
7.Calltoundefinedfunctioncurl_init()
[/align]
命令行下执行程序的时候报的错“Calltoundefinedfunctioncurl_init()”,奇怪了我curl扩展明明是打开的呀!为什么会报这样的错误?不解!
还是来看看phpinfo再说吧!
发现下面有这样一条信息
LoadedConfigurationFileD:\wamp\bin\apache\Apache2.2.11\bin\php.ini
哦!哦!原来php.exe读取的是当前目录里的ini,和wamp读的还不一样啊,
集成环境害死人呀!
呵呵,领教了
8.又一个问题,怎么修改wamp中php的配置文件呢?
看一下wampmanager.ini配置文件
[phpMenu]
;WAMPPHPMENUSTART
Type:submenu;Caption:"Version";SubMenu:phpVersion;Glyph:3
Type:submenu;Caption:"PHPsettings";SubMenu:php_params;Glyph:3
Type:submenu;Caption:"PHPextensions";SubMenu:php_ext;Glyph:3
Type:item;Caption:"php.ini";Glyph:6;Action:run;FileName:"notepad.exe";parameters:"D:/ProgramFiles/wamp/bin/apache/apache2.2.22/bin/php.ini"
Type:item;Caption:"PHPerrorlog";Glyph:6;Action:run;FileName:"notepad.exe";parameters:"D:/ProgramFiles/wamp/logs/php_error.log"
;WAMPPHPMENUEND9.用wampserver那么久,看一下他的文档吧?10.在命令行运行phpindex.php加载的时那个地方的配置文件呢?
据我观察时,和php.exe当前的目录啊!这个问题,一定要引起重视
否则,一定要指定-cpathto/php.ini
**********************11.php实现短点续传功能
1.发送206状态码:
header(“http/1.1206PartialContent”);2.服务器端怎么确定发送
客户端在请求时,必须带上range:r1-r2
服务端在收到请求后,会带上
Content-Range:bytes0-800/801//801:就是文件总大小,位置是0开始的,而不是从1!!!我的错误所在
斜杠后面的403表示文件的大小,通常Content-Range的用法为:
.Thefirst500bytes:
Content-Range:bytes0-499/1234
.Thesecond500bytes:
Content-Range:bytes500-999/1234
.Allexceptforthefirst500bytes:
Content-Range:bytes500-1233/1234
.Thelast500bytes:
Content-Range:bytes734-1233/1234

Header("Content-Ranges:bytes".$start."-".($fsize-1)."/".$fsize);12.只请求文件部分内容:
$total=0;
$once=100;
$length=1000;
$fp=fopen('1.txt','rb');
while($total<$length){
echofread($fp,$once)."<br/>";
$total+=$once;
}
13.三种方式上传文件
可以应用的上传方式有PUT,WEBDAV,和RFC1867三种,14.rename:
rename(’/a/1.gif’,‘/b/2.gif’);
不过要注意,如果目录b不存在,就会移动失败。[align=left]
[/align]
                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: