插入图片和一般的数据没什么不同的,一般数据会了,传图片时候就用个move_uploaded_file改变下参数,主要是做这个的时候不要有负担
目前创新互联公司已为数千家的企业提供了网站建设、域名、虚拟主机、网站托管维护、企业网站设计、龙口网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
以下供参考
?
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;//不要回传值此行可注释掉
}
?
一般不向数据库插入图片 而是插入图片的src 通过src找到图片然后显示。
(更多异步问题)
?php
session_start();
//array数组中放图片的格式
$uptypes = array("image/jpg","image/jpeg","image/png","image/pjpeg","image/gif","image/bmp","image/x-png");
$files =$_FILES["uppic"];
if($files["size"]2097152){ //图片大小判断
echo "上传图片不能大于2M";
echo "meta http-equiv='REFRESH' CONTENT='1;URL=pic.php'";
exit;
}
$ftype =$files["type"];
if(!in_array($ftype,$uptypes)){ //图片格式判断
echo "上传的图片文件格式不正确";
echo "meta http-equiv='REFRESH' CONTENT='1;URL=pic.php'";
}
$fname = $files["tmp_name"]; //在服务器临时存储名称
$image_info = getimagesize($fname);
$name = $files["name"];
$str_name = pathinfo($name); //以数组的形式返回文件路劲的信息
$extname = strtolower($str_name["extension"]); //把字符串改为小写 extensiorn扩展名
$upload_dir = "upload/"; //upload文件夹
$file_name = date("YmdHis").rand(1000,9999).".".$extname;
$str_file = $upload_dir.$file_name; //文件目录
//存入数据库
$con=mysql_connect("localhost","root","");
if(!$con){
die(("数据库连接失败").mysql_error());
}
mysql_select_db("mywork",$con);
$sql="update user set picpath='$str_file' where user_name='$username'"; //将图片地址插入数据库mywork
mysql_query($sql,$con);
mysql_close($con);
if(!file_exists($upload_dir)){
mkdir($upload_dir); //创建目录 成功则返回true 失败则返回flase
}
if(!move_uploaded_file($files["tmp_name"],$str_file)){ //将上传的文件移动到新的目录 要移动文件 和文件新目录 成功则返回true
echo "图片上传失败";
echo "meta http-equiv='REFRESH' CONTENT='1;URL=插入失败后希望跳转的页面";
}
else{
//echo "img src=".$str_file."";
echo "图片上传成功";
echo "meta http-equiv='REFRESH' CONTENT='1;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";
}
?
?php
if($_post['do_hf']=='回复')//当'回复'按钮触发执行
{
$bbs_hfnr=trim($_post['textf']);//得到多行文本框
$sql="insert
into
table
(text)
values('".$bbs_hfnr."');
//sql
连接和插入我就不写了
不知道你什么数据库
}
echo
"form
action=''
method='post'";
echo
"table
";
echo
"trtdtextarea
name='textf'
class='inputtext'
cols='70'
rows='6'/textarea/td/tr";
echo
"trtdinput
type='submit'
name='do_hf'
value='回复'"; input
type='reset'
value='重置'
//td/tr";
echo
"/table";
echo
"/form";
?
数据库中是没办法插入图片路径的,只能储存图片的上传名称,然后再网页中调用提片名称来显示图片。数据库中储存的都是数据而不是具体的图片
php是采用二进制形式存储图片及读取显示的,首先通过代码创建数据表,然后上传图片服务器再通过浏览器显示,具体编程代码举例:
1、首先需要创建数据表,具体代码如下图所示。
2、然后写上传图片到服务器的页面 upimage.html用来将图片上传数据库,如下图所示代码。
3、处理图片上传的php upimage.php文件,如下图所示图片已储存到数据库。
4、显示图片的php getimage.php文件,为了看一下效果提前把ID写入代码。
5、预览网站从数据库中提取了图片,并显示到页面上。