【发布时间】:2021-04-21 01:45:40
【问题描述】:
我已经在我的 laravel 项目中实现了 dropzone js,但是在将图像保存到数据库时遇到了一个问题
,/uploads/products/27/607f0fc0942b0_1618939840_fc3cde370d846c4d14b0200a29e9206f.png,/uploads/products/27/607f0fc0945e8_1618939840_copy-space-with-opened-quran_23-2148214357.jpg,/uploads/products/27/607f0fc09474d_1618939840_1 (1).jpg
问题是图像以逗号开头,这是错误的,例如必须在图像之后 image1.png,image2.png
这是我的控制器
$product_images = json_decode($request->product_images[0],true);
$images = [];
$path = "";
$productsPath = 'uploads/products/';
$productPath = 'uploads/products/'.$request->product_id;
if(!file_exists($productsPath)){
mkdir($productsPath);
}
if (!file_exists($productPath)) {
mkdir($productPath, 0777,true);
}
foreach($product_images as $img){
$file = $img['name'];
// $extension = $img->guessExtension();
$filename = uniqid() .'_'. time() .'_'. $file;
$img = explode(',',$img['file'])[1];
$img = str_replace('', '+', $img);
$data = base64_decode($img);
$file = $productPath .'/'. $filename;
$success = file_put_contents($file, $data);
// dd($file);
$images[] = '/'. $file;
}
// Update Product Information On "products" table
$product = Product::where('id', $request->product_id)->first();
$product->created_by = auth()->user()->id;
$product->name = request('name_en');
$product->name_ar = request('name_ar');
$product->description = request('description_en'); // Must be moved to "product_information"
$product->description_ar = request('description_ar'); // Must be moved to "product_information"
$product->youtube = request('youtube'); // Must be moved to "product_information"
$product->youtube_ar = request('youtube_ar'); // Must be moved to "product_information"
$product->slug = slugify($request->name_en, 'Product', '', '');
// $product->image = request('name_en');
$product->brand_id = request('brand');
$product->status = request('status');
$data = explode(',' ,$product->image);
$data = array_merge($data,$images);
$remove_images = json_decode($request->removed_images, true);
$temp = [];
$i = 0;
foreach($data as $key => $imag){
$i = $i + 1;
if(!empty($remove_images) && in_array($imag, $remove_images)){
if (file_exists($productPath .'/'. $imag)) {
unlink($productPath .'/'. $imag);
}
}else{
if($i < 8)
$temp[] = $imag;
}
}
$product->image = implode($temp, ',');
// dd (explode(',' ,$product->image));
$product->save();
谢谢
【问题讨论】:
-
您是否进行了任何调试以确定问题的根源?