21,886
社区成员
发帖
与我相关
我的任务
分享
<?php
header("Content-type: text/html; charset=utf-8");
class upload {
public $upload_file = array();
public $upload_path = 'upload';
public $timetree = 1;
public $allow = array('jpg', 'gif', 'bmp', 'jpeg', 'png');
function __construct($path='') {
if(!isset($_FILES)) return $this->error(99);
if($path) $this->upload_path = $path;
if($_FILES && $this->timetree) {
$this->upload_path .= date('/Y/m/d');
if(! file_exists($this->upload_path)) mkdir($this->upload_path, 0666, true);
}
foreach($_FILES as $info) {
if(! is_array($info['name'])) {
$this->upload_callback($info);
continue;
}
for($i=0;$i<count($info['name']);$i++) {
$this->upload_callback(array(
'name' => $info['name'][$i],
'type' => $info['type'][$i],
'tmp_name' => $info['tmp_name'][$i],
'error' => $info['error'][$i],
'size' => $info['size'][$i],
));
}
}
}
/**
* 上传处理回调方法
* 功能 保存上传文件
**/
function upload_callback($info) {
if($info['error']) return $this->error($info['error']);
if(!($ext = $this->extension($info['name']))) return;
$t= date('YmdHis');
$n = 0;
do {
$filename = sprintf('%s/%s%03d.%s', $this->upload_path, $t, $n++, $ext);
}while(file_exists($filename));
copy($info['tmp_name'], $filename);
$this->upload_file[] = $filename;
}
function extension($filename) {
$t = strtolower(pathinfo($filename, PATHINFO_EXTENSION));
if(in_array($t, $this->allow)) return $t;
$this->error("$t 非法的类型");
return '';
}
/**
* 错误处理
**/
function error($errno) {
$msg = '';
switch($errno) {
case UPLOAD_ERR_INI_SIZE:
$msg = '上传的文件超过了 '.ini_get('upload_max_filesize');
break;
case UPLOAD_ERR_FORM_SIZE:
$msg = '上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值';
break;
case UPLOAD_ERR_PARTIAL:
$msg = '文件只有部分被上传';
break;
case UPLOAD_ERR_NO_FILE:
$msg = '没有文件被上传';
break;
case UPLOAD_ERR_NO_TMP_DIR:
$msg = '找不到临时文件夹';
break;
case UPLOAD_ERR_CANT_WRITE:
$msg = '文件写入失败';
break;
default:
$msg = '错误:'.$errno;
break;
}
echo "<script>alert('$msg');</script>";
}
}
$p = new upload;
print_r($p->upload_file);
?>
上传并返回的页面up.html
<form id="upload_form" enctype="multipart/form-data" method="post" action="upload.php">
<div class="upset">正面: <input id="img" name="img" type="file" accept="image/*" onChange="fileSelected()" ></div>
<div class="upset">背面: <input id="img2" name="img2" type="file" accept="image/*" onChange="fileSelected()" ></div>
<div><input type="button" value="上传" onClick="startUploading()" /> </div>
</form>
下面这句是返回接收的
<div id="upload_response"><div>
显示就是这个内容:Array ( [0] => upload/2015/09/06/20150906164734000.jpg [1] => upload/2015/09/06/20150906164734001.jpg
我现在就是要把这两个值写入数据。分别写入IMG1,IMG 2两个字段
foreach($arr as $v){
mysql_query("insert into tbname (image_url) values ('".$v."')");
}
$sql = "insert into 表 (IMG1,IMG 2) values('$p->upload_file[0]', '$p->upload_file[1]')";
$sql = "insert into 表 (IMG1,IMG 2) values('$p->upload_file[0]', '$p->upload_file[1]')";