php - 多次上传有时无法成功上传
问题描述
我有上传多个文件的功能,但有时文件未上传,但路径已成功添加到数据库。我不确定问题是什么。我使用函数“times()”使其独一无二这是问题的根源吗?
我已经对其进行了测试并且它可以成功运行,但是当它实现时有时文件没有成功上传
if ($_FILES["lampiran"]["name"] != NULL) {
$config = array();
$ext = array();
$records = array();
$file_name = "Plan_".time();
$files = $_FILES['lampiran'];
$config['upload_path'] = "./uploads/Planning/attachment";
$config['allowed_types'] = '*';
foreach ($_FILES['lampiran']['name'] as $key => $value) {
$ext[]= pathinfo($_FILES['lampiran']['name'][$key], PATHINFO_EXTENSION);
}
$cpt = count ($_FILES['lampiran']['tmp_name']);
for($i=0; $i<$cpt; $i++){
$_FILES['lampiran']['name']= $file_name.$i.'.'.$ext[$i];
$_FILES['lampiran']['type']= $files['type'][$i];
$_FILES['lampiran']['tmp_name']= $files['tmp_name'][$i];
$_FILES['lampiran']['error']= $files['error'][$i];
$_FILES['lampiran']['size']= $files['size'][$i];
$records[] = $config['upload_path'].'/'.$_FILES['lampiran']['name'];
$this->upload->initialize($config);
if ( ! $this->upload->do_upload('lampiran'))
{
$error = array('error' => $this->upload->display_errors());
print_r($error);
// $this->load->view('upload_form', $error);
}
}
$pile = implode(";", $records);
} else {
$pile = NULL;
}
解决方案
在 else 条件下使用 $records 也会产生错误数组,比如
if ( ! $this->upload->do_upload('lampiran'))
{
$error[] = $this->upload->display_errors();
}else{
$upload_data = $this->upload->data();
$records[] = $config['upload_path'].'/'.$upload_data['file_name'];
}
在这里,您将获得 $error 中的所有错误以及记录中上传的文件。
推荐阅读
- python - Python pyad 问题:AttributeError:模块“pyad.pyad”没有属性“adquery”
- python - How to keep 'Time' and 'Group' in this mixed linear regression analysis
- docker - Connect to services running on different Kubernetes clusters at once
- python - How to generate unique pairs of numbers on python
- reactjs - Guys, who knows how you can implement the link format for phone calls in React?
- python - Disable train accuracy testing after each epoch
- mysql - How to INSERT INTO SELECT statement in MYSQL?
- python - Superset Email Reports Errno 111 Connection refused
- sql - 如何设置 ClickHouse 以有效地获取在特定日期最后一次活跃的用户
- java - 在启用 kerberos 的纱线集群上启动 spark/spring-boot 作业