php&mysql上传文件问题
2013-07-31 00:00
190 查看
<head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>上传模块</title> <? if(!file_exists("shangchuan/")){ mkdir("shangchuan/"); } ?> </head> <body> <form enctype="multipart/form-data" name="form1" method="post"> <input name="upfile" type="file" size="40" /> <label> <input type="submit" name="Submit" value="上传" /> </label> <br/> 请上传jpg、gif格式230*230图片,小于2Mb。 </form> </body> </html> <? if ($_SERVER['REQUEST_METHOD'] == 'POST') { If (!is_uploaded_file($_FILES["upfile"]["tmp_name"])){echo "图片不存在!";exit;} $a=$_FILES["upfile"]; $b=$a["type"]; $c=$a["size"]; $d=$a["tmp_name"]; $e=$a["error"]; $f=$a["name"]; $g=pathinfo($f,PATHINFO_EXTENSION); $type=array("image/gif","image/jpeg"); if(!in_array($b,$type)){ echo "您上传的文件类型不是jpg和gif的,请转换!";exit; } if($c>2000000){ echo "您上传的图片大小超过2MB,请调试!"; } $weizhi=time().".".$g; move_uploaded_file($d,'shangchuan/'.$weizhi); // 将上传的文件移动到新位置,一般指服务器路径! echo "<script>alert('上传成功,图片类型为$g,大小为$c');</script>"; }
以下是理解时刻 :)
$form_data_type = $_FILES ['file'] ['type'];
$form_data = $_FILES ['file'] ['tmp_name'];
db_connect ();//连接mysql
db_select ();//选择数据库
$fileopen = fopen ( $form_data, "rb" );
$filesize = filesize ( $form_data );
$fof = fread ( $fileopen, $filesize );
$data = addslashes ( $fof );
fclose ( $form_data );
$query = "INSERT INTO address_pic (tra_id,pic_type,pic_bin) VALUES ('".$_POST['stra_id']."','$form_data_type','$data')";
mysql_query ( $query);
数据库结构:CREATE TABLE IF NOT EXISTS `address_pic` ( `tra_id` char(20) NOT NULL, `pic_type` char(20) default NULL, `pic_bin` longblob, PRIMARY KEY (`tra_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 如果用phpmyadmin插入图片完全可以,是以十六进制格式存放。难道非得让我先把图片二进制流转成十六进制再存?会不会是addslashes的问题? PS:magic_quotes_gpc=off ?>
相关文章推荐
- PHP上传问题总结(文件大小检测,大文件上传)
- php中文件上传的安全问题
- nginx php文件上传的大小配置问题
- PHP上传文件大小限制的问题
- php上传中文文件文件名乱码问题
- php+apache+mySQL搭建服务器上传文件时失败
- LNMP一键安装包PHP和Niginx 文件上传大小限制问题解决方法
- Mysql Blob类型大小 上传文件大小问题
- php上传2M以上文件限制问题
- PHP和Nginx 文件上传大小限制问题解决方法
- php文件上传后台存储中文乱码问题解决方案
- PHP上传遇到的问题-php 上传大文件主要涉及配置upload_max_filesize和post_max_size两个选项
- php上传文件常见问题总结
- 微信小程序常见问题->上传文件后如何在后台(php)获取文件名解决方法
- php使用ftp远程上传文件类(完美解决主从文件同步问题的方法)
- 解决php无法上传大文件问题
- 设置nginx的client_max_body_size解决nginx+php上传大文件的问题
- Apache+PHP 解决上传文件大小限制的问题
- PHP文件上传问题汇总(文件大小检测、大文件上传处理)
- PHP中完美解决fckeditor上传中文文件与新建中文目录出现乱码的问题