插入图片和一般的数据没什么不同的,一般数据会了,传图片时候就用个move_uploaded_file改变下参数,主要是做这个的时候不要有负担
成都服务器托管,创新互联提供包括服务器租用、成都服务器托管、带宽租用、云主机、机柜租用、主机租用托管、CDN网站加速、域名申请等业务的一体化完整服务。电话咨询:13518219792
以下供参考
?
function upload_file($files,$folder)//上传图片
{
$file_tyle = $files['type'];
$file_type_arr = array('image/gif','image/x-png','image/jpg','image/pjpeg');
if(!in_array($file_tyle,$file_type_arr) )
{
exit('file type only can be: png,jpeg,jpg,gif');
}
$knamearray = explode(".",$files["name"]);
$kname = $knamearray[count($knamearray)-1];
$rand_str = date("ymdhis");
$file_name = $rand_str.".".$kname;
$savepath = "$folder/";
/*$savepath = "$folder/date_".date('YmdHis')."/";
if( !is_dir($savepath) ) mkdir($savepath);*/
$upfile = $savepath.$file_name;
if( !move_uploaded_file($files['tmp_name'],$upfile) )
{
exit('upload error, please check your file type: png,jpeg,jpg,gif');
}
return $file_name;//不要回传值此行可注释掉
}
?
原理都一样,循环接参,你打印一下它的参数就够就明白了,存储数据库,可以将图片路径之间用|或者逗号,或者json 系列化来存储:
?php
print_r($_FILES);//你可以打印一下它,看看它的结构
if(!empty($_FILES)){
foreach($_FILES['file']['name'] as $k=$v){
//$_FILES["file"]都变成$_FILES["file"][$k]操作进行操作吧
if ($_FILES['file'][$k]['error'] == 0) {
$filetype = array("jpg","JPG");
$arr = explode(".", $_FILES["file"][$k]["name"]);
...//同样的代码
}
}
}
?
form name="" action="" method="post" enctype="multipart/form-data"
input type="file" name="file[]" /br /
input type="file" name="file[]" /br /
input type="file" name="file[]" /br /
input type="file" name="file[]" /br /
input type="file" name="file[]" /br /
input type="file" name="file[]" /br /
input type="submit" name="a" value="提交" /
/form
保存图片到数据库做什么?保存到本地使用起来也方便,真要保存通过base64字符串保存。
?php
header('Content-type:text/html;charset=utf-8');
//读取图片文件,转换成base64编码格式
$image_file = './image123.jpg';
$image_info = getimagesize($image_file);
$base64_image_content = "data:{$image_info['mime']};base64," . chunk_split(base64_encode(file_get_contents($image_file)));
// $base64_image_content 输入到数据库
//保存base64字符串为图片
//匹配出图片的格式
if (preg_match('/^(data:\s*image\/(\w+);base64,)/', $base64_image_content, $result)){
$type = $result[2];
$new_file = "./test.{$type}";
if (file_put_contents($new_file, base64_decode(str_replace($result[1], '', $base64_image_content)))){
echo '新文件保存成功:', $new_file;
}
}
?
img src="?php echo $base64_image_content;?" /
?php
//var_dump($_FILES);
for($i=1;$i3;$i++){
//判断文件上传是否出错
if($_FILES["myfile$i"]["error"]0){
switch($_FILES["myfile$i"]["error"]){
case 1; echo"文件过大(大于php.ini 配置文件的限制)";break;
case 2; echo"文件超出了html表单Max_FILE_size选项所指定得值";break;
case 3; echo"文件只被部分上传";break;
case 4; echo"没有上载任何文件";break;
}
die;
}
//判断文件类型
if(!in_array($_FILES["myfile$i"]["type"],array("image/jpeg","image/png","image/gif"))){
echo"文件类型不合法!(只能上传jpg,gif,png格式图片)" ;
continue;
die;
}
$dir = dirname(__FILE__)."/uploaded/";
$filename= $_FILES["myfile$i"]["name"];
if(is_uploaded_file($_FILES["myfile$i"]["tmp_name"])){
if(move_uploaded_file( $_FILES["myfile$i"]["tmp_name"],$dir.$filename)){
echo "文件上传成功br" ;
file_put_contents("./data.txt"," img src='".date("Y-m-d")."/".$filename."'width=200\n",FILE_APPEND);
}else{
echo "文件移动失败" ;
}
}else{
echo "文件不合法(非http post方式上传的文件)" ;
}
}
$link = mysql_connect ("127.0.0.1","root","root") or die("连接数据库失败!");
//选择库
mysql_select_db("123");
//设置编码
mysql_query("set names utf8");
//是否写入到数据库
if(mysql_query("insert into chuan(mysql1,mysql2) values('".$_FILES["myfile$i"]["name"]."','".$filename."')")){
echo "文件上传成功br";
//显示图片
$str= file_get_contents("./data.txt");
$img_arr = explode("\n",$str);
foreach($img_arr as $img){
echo $img."br";
}
?