Muat naik berbilang fail ke pangkalan data MySql dalam pembangunan PHP (1)
Dalam bab sebelum ini, kami telah memperkenalkan tutorial memuat naik fail menggunakan PHP.
Rakan akan mempunyai soalan, bagaimana saya boleh memuat naik berbilang fail ke pangkalan data?
Perkara utama ialah memasukkan beberapa fail dan klik hantar untuk memuat naik Kemudian semua fail akan dimuat naik bersama-sama, dan setiap fail akan diberi laluan baharu.
memberikan idea:
Mula-mula dapatkan maklumat setiap fail yang dimuat naik dan masukkannya ke dalam tatasusunan tersuai
<?php $uploadFiles = array(); ?>
dan kemudian lulus Gelung foreach dipaparkan
<?php foreach($upfile as $key =>$value) { foreach($value as $k => $v){ $uploadFiles[$k][$key]=$v; } } print_r($uploadFiles); ?>
Paparan keputusan adalah serupa
<?php /* 這里展示同時(shí)上傳2個(gè)文件信息 Array ( [0] => Array ( [name] => 1.png [type] => image/png [tmp_name] => C:\Windows\php82E9.tmp [error] => 0 [size] => 65646 ) [1] => Array ( [name] => 2.png [type] => image/png [tmp_name] => C:\Windows\php82EA.tmp [error] => 0 [size] => 70463 ) ) */ ?>
Akhir sekali, syarat sekatan untuk menerbitkan fail yang ditunjukkan dalam bab sebelumnya dimasukkan ke dalam gelung untuk penghakiman
Dapatkan Nama fail rawak menggunakan masa semasa sebagai awalan nama fail baharu, dan digabungkan semula dengan nama akhiran ke dalam pangkalan data.
<?php //上傳后的文件名定義(隨機(jī)獲取一個(gè)文件名(保持后綴名不變)) $fileinfo = pathinfo($v["name"]);//解析上傳文件名字 do{ $newfile = date("Y-m-d,H-i-s") . rand(1000, 9999) . "." . $fileinfo["extension"]; } while (file_exists($path . $newfile)); ?>
Sudah tentu, memautkan jadual pangkalan data dan memuat naik fail juga merupakan langkah penting
<?php $link = mysqli_connect('localhost','username','password') or die("數(shù)據(jù)庫(kù)連接失??!"); mysqli_select_db($link,'test'); mysqli_set_charset($link,'utf8'); $filepath = $path.$newfile; $name = $v['name']; $size = $v['size']; $sql = "insert into img(id,name,size,pic) value(null,'$name','$size','$filepath')"; mysqli_query($link,$sql); mysqli_close($link); ?>