ホームページ >バックエンド開発 >PHPチュートリアル >出力配列をデータベースに書き込むにはどうすればよいですか?
出力配列をデータベースに書き込む方法は?
2 つの値を 2 つのフィールドに書き込む必要があります。
配列 ( [0] =>upload/2015/09/06/20150906164734000.jpg [1] =>upload/2015/09/06/20150906164734001.jpg
1. 配列を走査し、一度に 1 つの要素を挿入します
2. それを文字列に接続して挿入します
その方法はニーズに応じて異なります。特定のルールはありません
あなたはプログラムの奴隷ではなく、プログラムのマスターです
foreach($arr as $v){ mysql_query("insert into tbname (image_url) values ('".$v."')");}
0 は最初に対応します 1 は 2 番目に対応します それはあなたの設計次第です....
foreach($arr as $v){ mysql_query("insert into tbname (image_url) values ('".$v."')");}
<?phpheader("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);?>
<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
$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]')";
他のモデレータにも感謝します。最初に文字列を取得し、それを保存し、それを取り出した後にシリアル化する操作では、元の構造が保持されます