即使我不擅长开发,我也尝试创建一个表单,允许将多张照片上传到服务器并将文本上传到数据库。
对于文本来说,没有问题。也上传一张照片,效果很好。
我不能做的是在单个表单提交中上传多张照片。 我应该使用while或for或foreach循环吗?如果是这样,如何检索照片信息?我指定我不尝试使用“多个”功能。即使文件以相同的形式上传,用户也必须使用单独的“文件上传”字段。
我指定要在上传期间重命名文件。 使用下面的代码,上传可以工作,但只有第一个文件的重命名有效。第二个(当然还有接下来的几个)被严重重命名。第二个示例:
78_一加_新测试_FaceProduct_ pic03.jpgpic04.jpg
我需要一些帮助来创建上传图像过程的循环并正确重命名图像文件吗?
error_reporting(E_ALL);
// Then retrieve all the other information from the form:
$productname = isset($_POST['productname']) ? $_POST['productname'] : NULL;
$productbrand = isset($_POST['productbrand']) ? $_POST['productbrand'] : NULL;
$addername = isset($_POST['addername']) ? $_POST['addername'] : NULL;
$adderemail = isset($_POST['adderemail']) ? $_POST['adderemail'] : NULL;
// paramètres de connexion
$cbnserver = "xxxxxx";
$cbnuser = "xxxxxxxxx";
$cbnpass = "xxxxxxxxx";
$cbndbname = "xxxxxxxxxxxxx";
// Requête d'insertion dans la base
$dbco = new PDO("mysql:host=$cbnserver;dbname=$cbndbname", $cbnuser, $cbnpass);
$dbco->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$req = $dbco->prepare('INSERT INTO `cbnadd_newproduct` (productname, productbrand, addername, adder_email) VALUES(:productname,:productbrand,:addername,:adder_email)');
$req->execute(array(
'productname' => $productname,
'productbrand' => $productbrand,
'addername' => $addername,
'adder_email' => $adderemail
));
$lineid = $dbco->lastInsertId() ;
// Designate the directory where the images will be saved with this code:
$targetFA = "images/". $lineid ."_". $productbrand ."_". $productname ."_FaceProduct_";
$targetFA = $targetFA . basename( $_FILES['photoFA']['name']);
$targetNV = "images/". $lineid ."_". $productbrand ."_". $productname ."_FaceProduct_";
$targetNV = $targetFA . basename( $_FILES['photoNV']['name']);
}
千巷猫影
喵喔喔