把图片保存到服务器,拼接图片地址
创新互联专注于伍家岗企业网站建设,自适应网站建设,商城网站建设。伍家岗网站建设公司,为伍家岗等地区提供建站服务。全流程按需设计网站,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务
保存图片地址到数据库
读取图片地址就能访问到图片了。
一般来说,图片不会存入数据库的,图片都是上传到服务器里的一个路径下,数据库的字段栏位只记录这张对应图片的路径,图片显示是在读取数据库的内容,并显示字段记录对应的URL。
?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";
}
?
两种方法:
一:将图片上传至指定目录,在数据库中保存文件名和文件路径。
二:将图片文件读入字符串,将字符串保存到数据库,不推荐(没那么长的字段长度支持)。
1首先最好不要把图片存数据表。除非是做为资料保存。有些教材与网上的代码的处理方式太老了,不要再模仿。当然你的代码中没有看出来是用什么方式存储图片的。
2如果你是想把图片存到数据表中,你的$file实际上只是文件名。应该读图片的流数据写到表中。
3如果你仅是存文件名到数据表,图片在指定文件夹中存放,则应该是出在路径上。
1.图片转换 将上传的图片读取到一个字符串中,再用base64对数据进行编码 $img =base64_encode(file_get_contents($_FILES['file_head']['tmp...
2.显示图片 imgsrc="{$base64String}" 这样就能把图片显示出来了