Php 尝试循环浏览图像以单独保存和记录每个图像
我正在研究一种保存和记录用户选择和发布的图像的方法 这是我的方法Php 尝试循环浏览图像以单独保存和记录每个图像,php,image-processing,pdo,foreach,Php,Image Processing,Pdo,Foreach,我正在研究一种保存和记录用户选择和发布的图像的方法 这是我的方法 public function setEventImages($event_id){ foreach($_FILES['event-images']['tmp_name'] as $tmp_name){ var_dump($imgName = $this->imgPath . $this->random_name . $_FILES['event-images'
public function setEventImages($event_id){
foreach($_FILES['event-images']['tmp_name'] as $tmp_name){
var_dump($imgName = $this->imgPath . $this->random_name . $_FILES['event-images']['name']);
move_uploaded_file($tmp_name, $imgName);
$stmt = $this->dbh->prepare("INSERT INTO table_name (event_image_name, event_id) VALUES (?,?)");
$stmt->bindParam(1, $imgName, PARAM_STR);
$stmt->bindValue(2, $event_id, PARAM_INT);
$stmt->execute();
}
}
我是否通过引用foreach()
循环中的['tmp\u name']
正确地循环了每个图像
var\u dump()
返回:
字符串(38)“img/事件图像/9596177294458547数组”
为什么不显示每个文件的名称?如果我理解得很好,我认为这部分:
var_dump($imgName = $this->imgPath . $this->random_name . $_FILES['event-images']['name']);
应该是
var_dump($imgName = $this->imgPath . $this->random_name . $tmp_name);
当您使用foreach将数组的每个值分配给$tmp_name时,您正在插入整个数组。如果我理解得很好,我认为这部分:
var_dump($imgName = $this->imgPath . $this->random_name . $_FILES['event-images']['name']);
应该是
var_dump($imgName = $this->imgPath . $this->random_name . $tmp_name);
当您使用foreach将数组的每个值分配给$tmp_name时,但当您这样做时,您正在插入整个数组
通过引用foreach()循环中的['tmp_name'],我是否确实正确地循环了每个图像
你的问题的答案是否定的
假设您的表单中有文件输入作为
<input type="file" name="event-images[]" />
<input type="file" name="event-images[]" />
<input type="file" name="event-images[]" />
您将看到$file
是一个array()
,它的一个键/值对是tmp\u name=>tmp\u name\u由\u服务器分配
另一个将是name=>original\u file\u name
请看这里的例子和参考资料
通过引用foreach()循环中的['tmp_name'],我是否确实正确地循环了每个图像
你的问题的答案是否定的
假设您的表单中有文件输入作为
<input type="file" name="event-images[]" />
<input type="file" name="event-images[]" />
<input type="file" name="event-images[]" />
您将看到$file
是一个array()
,它的一个键/值对是tmp\u name=>tmp\u name\u由\u服务器分配
另一个将是name=>original\u file\u name
请看这里的例子和参考资料
为什么要在每一轮循环中准备新语句并绑定新变量?为什么要在每一轮循环中准备新语句并绑定新变量?我想在末尾添加当前映像的名称,而不是tmp目录。我想在末尾添加当前映像的名称,而不是tmp目录。