序列化 :serialize()
反序列化: unserialize()
适用情境:serialize()返回字符串,此字符串包含了表示value的字节流,可以存储于任何地方。这有利于存储或传递 PHP 的值,同时不丢失其类型和结构。比较有用的地方就是将数据存入数据库或记录在文件中的时候.
可以对一般变量进行序列化,也可以对字典进行序列化。
<?php
$array = array();
$array['keys'] = 'www';
$array['values']='11111';
$a = serialize($array);
echo $a;
unset($array);
$a = unserialize($a);
print_r($a);
?>
输出:
a:2:{s:4:"keys";s:3:"www";s:6:"values";s:5:"11111";}
Array ( [keys] => www [values] => 11111 )
插入图片(多图):
html代码:
<form action="{:url('index/index/add')}" method="post" enctype="multipart/form-data">
<input name="picture[]" multiple="multiple" type="file">
<input type="hidden" name="former" value="111">
<input type="submit" value="提交">
</form>
后台代码:
这里我没有插入向后台插入数据,只能打印一下看看
public function add() {
if ( $_FILES['picture']['name'] == '' ) {
$arr = input( 'former' );//接收默认图片
} else {
$file = request()->file( 'picture' );
foreach ( $file as $item ) {
//移动到框架应用根目录/uploads/目录下
$info = $item->move( ROOT_PATH . 'public' . DS . 'static/uploads' );
if ( $info ) {
$saveName = str_replace( '\\', '/', $info->getSaveName() );
$img = '/static/uploads/' . $saveName;
} else {
echo '文件上传失败' . '<br/>';
}
$data[] = explode( ',', $img );
}
$arr = '';
foreach ( $data as $k => $v ) {
$arr .= __UPLOADURL__.$v[0].',';
//$ggtop[$k]['photo'] = __UPLOADURL__.$v['photo'];
}
$a = serialize($arr);
dump($a);
$b = unserialize($a);
dump($b);
exit;
$fin['picture'] = $arr;
$fin['time'] = date( 'Y-m-d h:i:s', time() );
$end = db( 'carousel' )->where( 'id', 1 )->update( $fin );
if ( $end ) {
$this->success( '增加成功' );
} else {
$this->error( '增加失败' );
}
}
}