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

php之番外

2016-01-27 09:01 549 查看
1 文件管理

1.1 文件属性函数 如file_exists() filesize() stat()...

1.2 文件路径截取 如basename() dirname()

1.3 目录操作 opendir() readdir() closedir() rewinddir() mkdir()

1.4 文件操作 类似c的文件操作 fwrite...

2 文件上传与下载

2.1.1 form表单

action指定php文件 enctype需要指定为multipart/form-data才能上传文件

<form action="upload_file.php" method="post" enctype="multipart/form-data">

<label for="file">Filename:</label>

<input type="file" name="file" id="file" />

<br />

<input type="submit" name="submit" value="Submit" />

</form>

2.1.2 上传脚本

主要通过全局数组$_FILES得到上传的参数

$_FILES["file"]["name"] - 被上传文件的名称

$_FILES["file"]["type"] - 被上传文件的类型

$_FILES["file"]["size"] - 被上传文件的大小,以字节计

$_FILES["file"]["tmp_name"] - 存储在服务器的文件的临时副本的名称

$_FILES["file"]["error"] - 由文件上传导致的错误代码

$_FILES["file"]["tmp_name"] - 临时文件

move_uploaded_file ( string $filename , string $destination) 移动临时文件

2.2 下载

下载普通文件 可以直接用<a>

下载html文件或者想隐藏路径 可以用php实现 需要加头部

Header("Content-type: application/octet-stream");

Header("Accept-Ranges: bytes");

Header("Accept-Length:".$file_size);

Header("Content-Disposition: attachment; filename=".$file_name);

3 mysql

3.1 链接

$link= mysql_connect('localhost', 'name', 'pwd');

if(!$link){

die('connect err:'.mysql_error());}

mysql_select_db('database',$link) or die('select err'.mysql_error());

3.2 增删改查

$res=mysql_query($query[, $link]) 不过在5.4中过时了

3.3 结果集处理

$row = mysql_fetch_row($res) //取得一行结果 并作为索引数组返回 $row[0]

$row = mysql_fetch_assoc($res) //同上 但是返回的是关联数组 $row['id']

$row = mysql_fetch_array($res) //同上 可以传递参数 控制返回数组的形态 但是有地方说效率不高 不推荐用

$row = mysql_fetch_object($res) //返回一个对象 $row->id

用完需要mysql_free_result

3.4 关闭链接

mysql_close($link);

4 会话控制

4.1 cookie

设置 setcookie($name, $value, $expire, $path, $domain, $secure, $httponly) //保存在客户端

获取 $_COOKIE[$name]得到$value

删除 setcookie($name,"", time()-1);

4.2 session

session_start(); //启动 在使用之前 必须启动

$_SESSION['name']="name"; //会保存在服务器端

unset($_SESSION['name']); //删除在Session中name的值

$_SESSION=array() //清除所有数据

session_destroy() //彻底销毁session

5 php扩展c <参见php核心技术与最佳实践> 第七章php扩展

6 memcache 缓存对于频繁变动的内容效果不好

缓存机制 使用多路复用IO模型 使用LRU算法

需要同时下载客户端和服务器端 在php.ini中配置即可使用

7 nginx varnish用到再看吧

<php核心技术与最佳实践>蛮不错的
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: