|
|
|
PHP รับค่ารูปภาพหลายๆไฟล์ไม่ได้ครับมัน error Notice: Undefined index: |
|
|
|
|
|
|
|
PHP รับค่ารูปภาพหลายๆไฟล์ไม่ได้ครับ ที่ผมต้องการคือถ้า form มีการส่งรูปภาพเข้ามา ให้ลบรูปเก่าแล้วเพิ่มรูปใหม่ลงไปครับ ซึ่งรูปภาพที่ส่งมาจาก form มีไม่เกิน 5 รูป ผมได้วนลูปสร้างช่องเลือกไฟล์ภาพครับ
โค๊ด Form ที่ใช้ส่งข้อมูลแบบนี้ครับ
Code
for($i=$count;$i<=5;$i++){
echo $i;
?>
<input name="<?php fleImage.$i; ?>" type="file" id="fleImage" class="box"/><br>
<?php
}
?>
ส่วนฝั่งรับแบบนี้ครับ
Code
function modifyProduct()
{
for($i=1;$i<=5;$i++)
{
$images = uploadProductImage('fleImage'.$i, SRV_ROOT . 'images/product/');
if ($images['image'] != '') {
$mainImage = $images['image'];
$thumbnail = $images['thumbnail'];
_deleteImage($productId, $_POST['id'.$i] );[/code]
ส่วนฟังก์ชั่น uploadProductImage แบบนี้ครับ
Code
function uploadProductImage($inputName, $uploadDir)
{
$image = $_FILES[$inputName]; //เก็บรายละเอียดของไฟล์ที่อัพโหลดลงใน array()
$imagePath = '';
$thumbnailPath = '';
// ถ้ามีการอัพโหลดไฟล์ โดยชื่อไฟล์ที่อัพโหลดต้องไม่ใช่ค่าว่างๆ
if (trim($image['tmp_name']) != '') {
$ext = substr(strrchr($image['name'], "."), 1); //หานามสกุลไฟล์
//ตั้งชื่อไฟล์ใหม่ โดยใช้การสุ่ม เวลา และฟังก์ชัน md5() เพื่อให้ชื่อไฟล์ไม่ซ้ำ
$imagePath = md5(rand() * time()) . ".$ext";
list($width, $height, $type, $attr) = getimagesize($image['tmp_name']);
//ตรวจสอบว่าความกว้างไฟล์ต้องไม่เกินกว่าที่กำหนด แล้วทำการสร้างไฟล์ Thumbnail
if (LIMIT_PRODUCT_WIDTH && $width > MAX_PRODUCT_IMAGE_WIDTH) {
$result = createThumbnail($image['tmp_name'], $uploadDir . $imagePath, MAX_PRODUCT_IMAGE_WIDTH);
//เรียกฟังก์ชัน createThumbnail() เพื่อปรับความกว้างใหม่
$imagePath = $result;
} else {
$result = move_uploaded_file($image['tmp_name'], $uploadDir . $imagePath);
}
if ($result) {
//สร้าง Thumbnail ซึ่งเป็นไฟล์ภาพขนาดเล็ก
$thumbnailPath = md5(rand() * time()) . ".$ext";
$result = createThumbnail($uploadDir . $imagePath, $uploadDir . $thumbnailPath, THUMBNAIL_WIDTH);
//ถ้าสร้าง Thumnail ไม่ได้ ก็ให้ลบไฟล์ภาพทิ้งไป
if (!$result) {
unlink($uploadDir . $imagePath);
$imagePath = $thumbnailPath = '';
} else {
$thumbnailPath = $result;
}
} else {
//กรณีที่ไฟล์ภาพอัพโหลดไม่ได้ หรือสร้าง Thumbnail ไม่ได้
$imagePath = $thumbnailPath = '';
}
}
return array('image' => $imagePath, 'thumbnail' => $thumbnailPath);
}
แต่พอรันแล้วมัน error แบบนี้ครับ ไม่ทราบว่าต้องแก้ยังไงครับ
Code
[code]Notice: Undefined index: fleImage1 in C:\xampp\htdocs\shop\admin\product\processProduct.php on line 82
Notice: Undefined index: fleImage2 in C:\xampp\htdocs\shop\admin\product\processProduct.php on line 82
Notice: Undefined index: fleImage3 in C:\xampp\htdocs\shop\admin\product\processProduct.php on line 82
Notice: Undefined index: fleImage4 in C:\xampp\htdocs\shop\admin\product\processProduct.php on line 82
Notice: Undefined index: fleImage5 in C:\xampp\htdocs\shop\admin\product\processProduct.php on line 82
Tag : PHP
|
|
|
|
|
|
Date :
2017-03-22 14:50:11 |
By :
mmc01 |
View :
1148 |
Reply :
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<input name="<?php fleImage.$i; ?>" type="file" id="fleImage" class="box"/><br>
น่าจะเขียนว่า
<input name="<?php echo 'fleImage'.$i; ?>" type="file" id="fleImage" class="box"/><br>
ครับ
|
|
|
|
|
Date :
2017-03-22 16:47:00 |
By :
num |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
undefined index คือไม่มีการระบุตัวแปรนั้นไว้ วิธีแก้คือให้ครอบด้วย if (isset($ชื่อตัวแปร)) {...}
|
|
|
|
|
Date :
2017-03-23 00:55:03 |
By :
mr.v |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 01
|