Télécharger plusieurs fichiers dans la base de données MySql en développement PHP (1)
Dans le chapitre précédent, nous avons présenté le tutoriel de téléchargement d'un fichier en utilisant PHP.
Les amis auront des questions, comment puis-je télécharger plusieurs fichiers dans la base de données ?
Le point clé est de mettre quelques fichiers et de cliquer sur Soumettre pour télécharger. Ensuite, tous les fichiers seront téléchargés ensemble et chaque fichier recevra un nouveau chemin.
fournit une idée :
Récupérez d'abord les informations de chaque fichier téléchargé et placez-les dans un tableau personnalisé
<?php $uploadFiles = array(); ?>
, puis passez La boucle foreach est affichée
<?php foreach($upfile as $key =>$value) { foreach($value as $k => $v){ $uploadFiles[$k][$key]=$v; } } print_r($uploadFiles); ?>
L'affichage des résultats est similaire
<?php /* 这里展示同时上传2个文件信息 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 ) ) */ ?>
Enfin, les conditions de restriction de publication d'un fichier démontrées dans le chapitre précédent sont mises dans la boucle pour jugement
Obtenir Le nom de fichier aléatoire utilise l'heure actuelle comme préfixe du nouveau nom de fichier et est recombiné avec le nom de suffixe dans la base de données.
<?php //上传后的文件名定义(随机获取一个文件名(保持后缀名不变)) $fileinfo = pathinfo($v["name"]);//解析上传文件名字 do{ $newfile = date("Y-m-d,H-i-s") . rand(1000, 9999) . "." . $fileinfo["extension"]; } while (file_exists($path . $newfile)); ?>
Bien sûr, lier la table de la base de données et télécharger les fichiers est également une étape essentielle
<?php $link = mysqli_connect('localhost','username','password') or die("数据库连接失败!"); 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); ?>