输出的数组如何写入数据库?

XGVIP 2015-09-07 01:18:43
输出的数组如何写入数据库?
2个值要写入2个字段.
Array ( [0] => upload/2015/09/06/20150906164734000.jpg [1] => upload/2015/09/06/20150906164734001.jpg
...全文
190 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
by029 2016-11-30
  • 打赏
  • 举报
回复
Array ( [0] => stdClass Object ( [time] => 1480427669 [size] => 43623 [type] => file [name] => 1480427683_2102902011.Array ) [1] => stdClass Object ( [time] => 1480427670 [size] => 75850 [type] => file [name] => 1480427684_371287602.Array ) [2] => stdClass Object ( [time] => 1480427670 [size] => 72865 [type] => file [name] => 1480427684_372834258.Array ) [3] => stdClass Object ( [time] => 1480427670 [size] => 57075 [type] => file [name] => 1480427684_817373115.Array ) [4] => stdClass Object ( [time] => 1480427671 [size] => 360972 [type] => file [name] => 1480427684_1038107925.Array ) [5] => stdClass Object ( [time] => 1480427672 [size] => 45191 [type] => file [name] => 1480427685_579691202.Array ) [6] => stdClass Object ( [time] => 1480427672 [size] => 76071 [type] => file [name] => 1480427686_1779136502.Array ) [7] => stdClass Object ( [time] => 1480427674 [size] => 58063 [type] => file [name] => 1480427686_768422298.Array ) [8] => stdClass Object ( [time] => 1480427674 [size] => 45622 [type] => file [name] => 1480427688_710461083.Array ) [9] => stdClass Object ( [time] => 1480427674 [size] => 78086 [type] => file [name] => 1480427688_892132925.Array ) [10] => stdClass Object ( [time] => 1480427675 [size] => 63320 [type] => file [name] => 1480427688_1326284401.Array ) [11] => stdClass Object ( [time] => 1480427675 [size] => 65686 [type] => file [name] => 1480427689_1997451487.Array ) [12] => stdClass Object ( [time] => 1480427676 [size] => 73114 [type] => file [name] => 1480427689_1940553217.Array ) [13] => stdClass Object ( [time] => 1480427677 [size] => 64598 [type] => file [name] => 1480427690_1569868188.Array ) [14] => stdClass Object ( [time] => 1480427677 [size] => 78754 [type] => file [name] => 1480427691_1249839968.Array ) [15] => stdClass Object ( [time] => 1480427678 [size] => 62781 [type] => file [name] => 1480427692_1216100263.Array ) [16] => stdClass Object ( [time] => 1480427678 [size] => 62855 [type] => file [name] => 1480427692_1749280179.Array ) [17] => stdClass Object ( [time] => 1480427678 [size] => 73382 [type] => file [name] => 1480427692_2054169637.Array ) [18] => stdClass Object ( [time] => 1480427679 [size] => 70354 [type] => file [name] => 1480427692_548586675.Array ) [19] => stdClass Object ( [time] => 1480427807 [size] => 260383 [type] => file [name] => 1480427820_1975688870.Array ) ) 这种怎么写,我只要每个里面的name值,并全部插入数据库
XGVIP 2015-09-07
  • 打赏
  • 举报
回复
引用 2 楼 zy205817 的回复:

foreach($arr as $v){
    mysql_query("insert into tbname (image_url) values ('".$v."')");
}
我说详细一点吧。因为新手,请版主多多指教。 upload.php页面

<?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两个字段
辛星 2015-09-07
  • 打赏
  • 举报
回复
先序列化为字符串,然后存进去,取出来之后再序列化,最方便的操作,还保留原结构。
XGVIP 2015-09-07
  • 打赏
  • 举报
回复
引用 6 楼 xuzuning 的回复:
$sql = "insert into 表 (IMG1,IMG 2) values('$p->upload_file[0]', '$p->upload_file[1]')";
非常感谢!同时也谢谢其他几位版主。
黄袍披身 2015-09-07
  • 打赏
  • 举报
回复
0 对应 第一个 1 对应第二个 要看你是怎么设计的....
码无边 2015-09-07
  • 打赏
  • 举报
回复

foreach($arr as $v){
    mysql_query("insert into tbname (image_url) values ('".$v."')");
}
xuzuning 2015-09-07
  • 打赏
  • 举报
回复
1、遍历数组,每次插入一个元素 2、连接成串后插入 怎么做是根据你的需要来的,并无一定之规 你是程序的主人,而不是程序的奴隶
xuzuning 2015-09-07
  • 打赏
  • 举报
回复
$sql = "insert into 表 (IMG1,IMG 2) values('$p->upload_file[0]', '$p->upload_file[1]')";
xuzuning 2015-09-07
  • 打赏
  • 举报
回复
$sql = "insert into 表 (IMG1,IMG 2) values('$p->upload_file[0]', '$p->upload_file[1]')";

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧