我必须上传2张图片。一个是产品图片,另一个是QR。我需要将每个图像的URL插入MySQL数据库。我设法获取数据库中注册的每个图像的URL,并上传两个图像之一,第一个图像,但是与QR对应的图像,第二个图像,它没有上载到服务器,我没有收到任何错误消息。
这是MySql中的表 table
产品图片为“ product_image”,二维码为product_qr
这是在PHP-中使用“模态”创建的用户“界面” enter image description here
然后,我输入与连接到数据库并负责上载文件的功能相对应的代码:
$type = explode('.', $_FILES['productImage']['name']);
$type = $type[count($type)-1];
$typeQR = explode('.', $_FILES['productQR']['name']);
$typeQR = $typeQR[count($typeQR)-1];
$url = '../assests/images/stock/'.uniqid(rand()).'.'.$type;
$urlQR = '../assests/images/stock/'.uniqid(rand()).'.'.$typeQR;
if(in_array($type, array('gif', 'jpg', 'jpeg', 'png', 'JPG', 'GIF', 'JPEG',
'PNG')) ||
in_array($typeQR, array('gif', 'jpg', 'jpeg', 'png', 'JPG', 'GIF', 'JPEG',
'PNG')) ) {
if(is_uploaded_file($_FILES['productImage']['tmp_name']) ||
is_uploaded_file($_FILES['productQR']['tmp_name']) ) {
if(move_uploaded_file($_FILES['productImage']['tmp_name'], $url) ||
move_uploaded_file($_FILES['productQR']['tmp_name'], $urlQR)) {
$sql = "INSERT INTO product (product_name, product_image, brand_id,
categories_id, quantity,rate, active, status, description, position_store, status_product, reference, product_qr)
VALUES ('$productName', '$url', '$brandName', '$categoryName','$quantity', '$rate',
'$productStatus', 1, '$productDescription', '$positionStore','$statusObject', '$reference', '$urlQR')";
这是“模式”代码:
<div class="modal-body" style="max-height:450px; overflow:auto;">
<div id="add-product-messages"></div>
<div class="form-group">
<label for="productImage" class="col-sm-3 control-label">Imagen: </label>
<label class="col-sm-1 control-label">: </label>
<div class="col-sm-8">
<!-- the avatar markup -->
<div id="kv-avatar-errors-1" class="center-block" style="display:none;"></div>
<div class="kv-avatar center-block">
<input type="file" class="form-control" id="productImage" placeholder="Imagen del producto" name="productImage" class="file-loading" style="width:auto;"/>
</div>
</div>
</div>
<div class="form-group">
<label for="productQR" class="col-sm-3 control-label">QR: </label>
<label class="col-sm-1 control-label">: </label>
<div class="col-sm-8">
<!-- the avatar markup -->
<div id="kv-avatar-errors-1" class="center-block" style="display:none;"></div>
<div class="kv-avatar center-block">
<input type="file" class="form-control" id="productQR" placeholder="Imagen QR" name="productQR" class="file-loading" style="width:auto;"/>
</div>
</div>
</div>
正如我所说,一切正常,但是QR图像无法上传到服务器。
答案 0 :(得分:0)
在本地测试它可以工作吗?
似乎存在权限问题。您是否在尝试上传这些文件的服务器上检查了权限?
您需要具有写入权限才能将文件上传到文件夹。根据您使用的客户端,右键单击该文件夹(在您的情况下为“资产”或“资产”和“图像”),然后检查它们是否具有写权限。
或者if
语句可能有问题:
if(move_uploaded_file($_FILES['productImage']['tmp_name'], $url) || move_uploaded_file($_FILES['productQR']['tmp_name'], $urlQR))
尝试像这样使用&&
而不是||
:
if(move_uploaded_file($_FILES['productImage']['tmp_name'], $url) && move_uploaded_file($_FILES['productQR']['tmp_name'], $urlQR))