文件未使用 html 输入类型文件上传

Posted

技术标签:

【中文标题】文件未使用 html 输入类型文件上传【英文标题】:file didn't uploaded using html input type file 【发布时间】:2016-10-06 19:42:59 【问题描述】:

我想使用 html 输入类型文件上传文件,但它不起作用。该文件未上传到预期的文件夹和数据库(我想将文件名存储到表中)。当我从浏览器检查时,它不会出现错误。当我点击“上传”按钮时,网址就像http://localhost/mywebsite/ajax/upload? ,方法GET,状态码200 OK。我做错了什么?

我正在使用 mac、xampp、phpmyadmin、chrome。

这是我的看法:

<form action="<?php echo site_url('admin/upload')?>" enctype="multipart/form-data">
  <input type="file">
    <button type="submit" class="btn btn-success"><span class="glyphicon glyphicon-upload" aria-hidden="true" ></span> Upload
    </button>
</form>

控制器:

function upload()

if (!empty($_FILES)) 
 
    $filename = $_FILES["file"]["name"];
    $file_basename = substr($filename, 0, strripos($filename, '.'));
    $file_ext = substr($filename, strripos($filename, '.'));
    $tempFile = $_FILES['file']['tmp_name'];
    $data = "admin".uniqid().$file_ext;
    $targetPath = getcwd() . '/kirim_undangan/';
    $targetFile = $targetPath . $data ;
    move_uploaded_file($tempFile, $targetFile);

$data_user = array(
  'request_id'  => $request_id,
  'status'      => '1',
  'filename_admin' => $uploadedFileName,
);
$this->load->model('excel');
$this->excel->upload_excel($data_user);
   

型号:

function upload_excel($allDataInSheet,$request_id)

  $regex = "~\d5~";
  array_shift($allDataInSheet);
  foreach ($allDataInSheet as $key)     
  
     preg_match($regex, $key['B'], $result);       
     $data = array(
     'request_id'         =>   $request_id,
     'to_name'            =>   $key['A'],
     'to_phone'           =>   $key['C'],
     'to_address'         =>   $key['B'],
     'to_zipcode'         =>   $result[0], 
     'tariff'             =>   '0'
     );
  $this->db->insert('excel', $data);
  $this->db->update('request',$request_id);
  

【问题讨论】:

【参考方案1】:

您必须在输入中添加名称

<form method="post" action="<?php echo site_url('admin/upload')?>" enctype="multipart/form-data">
  <input type="file" name="file">
    <button type="submit" class="btn btn-success"><span class="glyphicon glyphicon-upload" aria-hidden="true" ></span> Upload
    </button>
</form>

【讨论】:

它给了我localhost/mywebsite/admin/upload?file=tes+upload.xlsx 但文件没有上传到文件夹和数据库 对不起,忘记了form-tag中的method="post" 我做了,但没有任何改变:(

以上是关于文件未使用 html 输入类型文件上传的主要内容,如果未能解决你的问题,请参考以下文章

上传带有文件类型约束的 html 文件

Grails 文件上传未使用正确的内容类型

如何将上传文件的名称设置为输入类型:html 中 javascript 上的文本

文件未在服务器 ionic3 中上传

前端上传大型文件或超长数据的解决办法

html input标签 file类型,上传的具体是啥东西