Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > สอบถามการดักค่ากรณี User ไม่ได้แนบรูปมาให้แสดงรูปที่เรากำหนดไว้ครับ กรณีแนบมาก็แสดงรูปปกติ



 

สอบถามการดักค่ากรณี User ไม่ได้แนบรูปมาให้แสดงรูปที่เรากำหนดไว้ครับ กรณีแนบมาก็แสดงรูปปกติ

 



Topic : 113295



โพสกระทู้ ( 174 )
บทความ ( 0 )



สถานะออฟไลน์




คือ อันนี้ผมเรียกมา ถ้ามีการแนบรูปมาก็แสดงปกติอยู่แล้วครับ แต่กรณีเช็คแล้วไม่มีรูปแนบมามันเป็นรูปแตกๆครับ
เลยอยากได้โค๊ดเช็คว่า ไม่มีรูปผมกำหนดเลยว่าดึงภาพนี้มาแสดงแทนเลยอ่ะครับ แกะมาจากจูมล่าครับ

Code (PHP)
<?php 
$db = JFactory::getDBo(); // สร้าง object database เก็บไว้ใน $db
$sql = "SELECT a.*
	FROM #__k2_items AS a ,#__k2_categories AS b 
	WHERE b.parent = 28 AND a.published = 1 
	AND a.trash = 0 AND a.catid = b.id ORDER BY a.created DESC 
	LIMIT 5 ";
$db->setQuery($sql);  // กำหนด SQL statement ด้วย function setQuery(); ใน object database $db
$rs = $db->loadobjectList(); // ทำการส่งค่าร้องขอข้อมูล ด้วย object database $db ผ่าน function loadobjectList();

foreach($rs as $item):
	$pic = md5("Image".$item->id)."_L.jpg";
	
	$pathurl = JURI::root()."media/k2/items/cache/";
	$img = $pathurl . $pic;
	
// JURI::root() เป็น object ที่ใช้อ่านค่า path ที่เก็บ image ไฟล์ต่างๆ
?>

        <div class="box-block2f">
		
            <a title="<?php echo $item->title ?>" href="index.php?option=com_k2&view=item&layout=item&id=<?php echo $item->id; ?>">
            <img src="<?php echo $img;?>"></a>
			<div class="title-slide2f"><a href="index.php?option=com_k2&view=item&layout=item&id=<?php echo $item->id; ?>"><?php echo $item->title ?></a></div>
        </div><!--end box-block2f-->
		
   <?php endforeach; ?>


aaa
-รูป มันออกมาแบบนี้แทนครับ เพราะถ้ามีมันก็ไปเช็ค Md5 พาสรูปมาแสดง แต่ถ้าไม่แอดภาพ
มันก็เชคมาเหมือนกันแต่ไม่เจอภาพครับ



Tag : PHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-12-17 11:42:52 By : sarut14 View : 2343 Reply : 11
 

 

No. 1



โพสกระทู้ ( 318 )
บทความ ( 1 )



สถานะออฟไลน์
Twitter Facebook

ใช้ if else ครับ
ตัวอย่าง
Code (PHP)
    if{/มีรูปในฐานข้อมูล
	echo "<img src=\"".$Pic."\" width=\"100\" height=\"80\" border=\"0\">";
                         } else {//กรณีไม่มีรูป
	echo "<img src=\"Nopic.jpg\" width=\"100\" height=\"80\" border=\"0\">";
}







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-17 11:46:36 By : LAGO
 


 

No. 2



โพสกระทู้ ( 174 )
บทความ ( 0 )



สถานะออฟไลน์


อธิบายแต่ละส่วนนิดนึงนะครับ โค๊ดผม

Code (PHP)
<?php

foreach($rs as $item):
	$pic = md5("Image".$item->id)."_L.jpg";
/// ตรงนี้เป็นการกำหนดตัวแปร pic ว่า ถ้าไอดีนี้มีรูปมา แล้วรุปเข้ารหัส MD5 ให้ค้นหาตามไอดี แล้วเลือกรูปขนาดไซร์ L มาแสดงครับ
มันมี_S _M _L บราๆ
	
	$pathurl = JURI::root()."media/k2/items/cache/";
	$img = $pathurl . $pic;
	
// JURI::root() เป็น object ที่ใช้อ่านค่า path ที่เก็บ image ไฟล์ต่างๆ
//$img ผมก็แค่รวมตัวแปร พวก URL Pic
?>


/// ข้างล่างคือรูปแสดงผลครับ แต่ติดตรงรูปที่ไม่มีมันเชคค่ามาก็เป็นดังภาพด้านกระทู้บน
        <div class="box-block2f">
		
            <a title="<?php echo $item->title ?>" href="index.php?option=com_k2&view=item&layout=item&id=<?php echo $item->id; ?>">
            <img src="<?php echo $img;?>"></a>
			<div class="title-slide2f"><a href="index.php?option=com_k2&view=item&layout=item&id=<?php echo $item->id; ?>"><?php echo $item->title ?></a></div>
        </div><!--end box-block2f-->
		
   <?php endforeach; ?>


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-17 11:53:13 By : sarut14
 

 

No. 3



โพสกระทู้ ( 318 )
บทความ ( 1 )



สถานะออฟไลน์
Twitter Facebook

Code (PHP)
<div class="box-block2f">
		
            <a title="<?php echo $item->title ?>" href="index.php?option=com_k2&view=item&layout=item&id=<?php echo $item->id; ?>">
            //ใช้ if else ตรวจตรงนี้แทน <img src="<?php echo $img;?>"> ครับ
</a>
			<div class="title-slide2f"><a href="index.php?option=com_k2&view=item&layout=item&id=<?php echo $item->id; ?>"><?php echo $item->title ?></a></div>
        </div>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-17 12:02:18 By : LAGO
 


 

No. 4



โพสกระทู้ ( 174 )
บทความ ( 0 )



สถานะออฟไลน์


ยังไม่เก็ทครับ ลองแล้วมันขึ้นหน้าขาวครับ เหมือนกับว่า $img ตัวนี้มันเช็ค Path รูปออโต้อ่ะครับ ไม่มีก็ไม่ขึ้นภาพ
เป็นแบบรูปบนอยู่ดี จะเขียนดัก IF ยังไงดีครับ ถ้าจะขอเป็นโค๊ดรบกวนได้ไหมครับ สุดปัญญาจริงๆ มันมาจากจูมล่า

ผมทำได้แค่ดึงมาโชว์เพราะมันมี URL ID อ้างอิงในตัว

$pic = md5("Image".$item->id)."_L.jpg";
$pathurl = JURI::root()."media/k2/items/cache/"; //
$img = $pathurl . $pic;


Code (PHP)
<?php if($img <> NULL): ?>
            <a title="<?php echo $item->title ?>" href="index.php?option=com_k2&view=item&layout=item&id=<?php echo $item->id; ?>">
            <img src="<?php echo $img ;?>"></a>
			<div class="title-slide2f"><a href="index.php?option=com_k2&view=item&layout=item&id=<?php echo $item->id; ?>"><?php echo $item->title ?></a></div>
        </div><!--end box-block2f-->
		
		<?php endif; ?>

--ราวๆคร่าวๆแบบนี้ครับ <>NULL ตอนนี้แสดงได้ครับ แต่ว่า ==NULL เออเร่อครับขึ้นหน้าขาว
ผมจะทำไงให้ คำสั่งส่วน ถ้า $img ชี้ไปในพาท ตามไอดี ไม่มีรูปจะทำไงให้แสดงรูปที่ผมฟิกไว้แทนครับ
สมมุติว่า ฟิกไว้ว่าให้ถ้าไม่มีการแอดรูปมา


คือตอนนี้ ส่วนตรงนี้อ่ะครับ ผมทำไงมันก็ออกมาแต่รูป รูปภาพแตก
$pic = md5("Image".$item->id)."_L.jpg"; // ถ้าไอดีนี้มีรูป เลือกขนาดออกมากนี่ไซร้ L ก็จบครับ แต่ไม่มีรุปมานี่สิ
$pathurl = JURI::root()."media/k2/items/cache/"; พาทเก็บ หรือตัว ไฟล์รูปเลยครับ เป็นชื่อเข้ารหัส MD5

$img = $pathurl . $pic; // จะทำไงให้คำสั่งชุดนี้ ถ้าไม่มีรูปใช้รูปอื่นแทนครับ กรณีที่ว่านี้คือค้นจากไอดี
แล้วไม่มีไฟล์ตัวตนจริงของรูป พอมันค้นแล้วไม่มีดันเป็นรูป รูปแตก


ประวัติการแก้ไข
2014-12-17 13:28:00
2014-12-17 13:53:46
2014-12-17 14:35:36
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-17 13:17:13 By : sarut14
 


 

No. 5



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



สถานะออฟไลน์


เอารูปที่ เป็น default ไปเก็บไว้ใน media/k2/items/cache/deault.png

สีแดงเป็นชื่อไฟล์ที่ไว้แสดงกรณีไม่พบไฟล์

15.$img = $pathurl . ($item->id==''? $pic : 'default.png');


หรือจะแก้บันทัดนี้
04.$pic = md5("Image".$item->id)."_L.jpg";

แก้เป็น

04.$pic = $item->id>''? md5("Image".$item->id)."_L.jpg" : 'default.png';


ประวัติการแก้ไข
2014-12-17 15:03:23
2014-12-17 15:05:30
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-17 15:01:56 By : Chaidhanan
 


 

No. 6



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



สถานะออฟไลน์


หรือว่า ไม่ได้เก็บ ชื่อไฟล์เอาไว้ เอาแค่ id มา generate ครับ

ถ้าแบบนี้ ต้องตรวจสอบ ว่ามีไฟล์ อยู่หรือไม่

15.$img = $pathurl . $pic;
if( !file_exists( $img )) $img=$pathurl . 'default.png';
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-17 15:08:56 By : Chaidhanan
 


 

No. 7



โพสกระทู้ ( 174 )
บทความ ( 0 )



สถานะออฟไลน์


เดี๊ยวลองดูครับ ผมคิดว่าน่าจะเก็บไฟล์ไว้ครับ แต่ถูกเข้ารหัส MP5 แต่ถ้าเช็คในเบสไม่มีชื่อไฟล์ครับ หาไม่เจอครับ
ต้องไปเรียกจากโฟรเดอร์แคช อ้างอิงไอดีแทนครับว่า ไอดีนี้แนบไฟลื md5 แปลงมาตรงกันไหม ถ้ามีก็แสดงรูปครับ

ขอบคุณพี่ชัยมากครับ เดี๊ยวลองแบบแรกก่อนครับ

ลองชุดแรกครับ โดยใส่ไฟล์รูปไว้ในโฟเดอร์แคช ชื่อ default.jpg แล้วใช้โค๊ชนี้
Code (PHP)
foreach($rs as $item):
	$pic = md5("Image".$item->id)."_L.jpg";
	//$pic = $item->id>''? md5("Image".$item->id)."_L.jpg" : 'default.png';
	//$img = $pathurl . ($item->id==''? $pic : 'default.png');
	$pathurl = JURI::root()."media/k2/items/cache/";
	//$img = $pathurl . $pic;
	$img = $pathurl . $pic;
			if( !file_exists( $img )) $img=$pathurl . 'default.png';
			//echo $img;
	//exit;

-ผลคือ รูปไม่ขึ้นครับหมดแถวเลย เป็นรูป รูปแตก รูปแทนที่ใส่ไปไม่ออกด้วยครับ

แต่ลองกลับค่าเปิดปิดดูครับ
foreach($rs as $item):
//$pic = md5("Image".$item->id)."_L.jpg";
$pic = $item->id>''? md5("Image".$item->id)."_L.jpg" : 'default.png';
//$img = $pathurl . ($item->id==''? $pic : 'default.png');
$pathurl = JURI::root()."media/k2/items/cache/";
$img = $pathurl . $pic;
//if( !file_exists( $img )) $img=$pathurl . 'default.png';
//echo $img;
//exit;

ผลคือเหมือนเดิมครับ แต่ผมว่าน่าจะเก็บไอดีมาครับ ผมหาเบสแล้วไม่มีไฟล์ภาพครับ


ประวัติการแก้ไข
2014-12-17 16:09:00
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-17 15:53:23 By : sarut14
 


 

No. 8



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



สถานะออฟไลน์


echo $img ออกมาดูครับ แล้วเข้าไปเช็คดูว่า path ตรงไหม
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-17 16:17:57 By : Chaidhanan
 


 

No. 9



โพสกระทู้ ( 174 )
บทความ ( 0 )



สถานะออฟไลน์


ได้ตรงครับ
http://localhost/TTD_KM/media/k2/items/cache/default.jpg

ถ้าผมเปิดแบบนี้ ภาพ default.jpg จะออกมาหมดครับ
foreach($rs as $item):
//$pic = md5("Image".$item->id)."_L.jpg";
$pic = $item->id>''? md5("Image".$item->id)."_L.jpg" : 'default.jpg';
$img = $pathurl . ($item->id==''? $pic : 'default.jpg');
$pathurl = JURI::root()."media/k2/items/cache/";
//$img = $pathurl . $pic;
if( !file_exists( $img )) $img=$pathurl . 'default.jpg';
//echo $img;
//exit;

แต่ถ้าปิดแบบนี้ รูปดีฟ้อนจะแทนครับขึ้นแบบเดิม
//$pic = md5("Image".$item->id)."_L.jpg";
$pic = $item->id>''? md5("Image".$item->id)."_L.jpg" : 'default.jpg';
//$img = $pathurl . ($item->id==''? $pic : 'default.jpg');
$pathurl = JURI::root()."media/k2/items/cache/";
$img = $pathurl . $pic;
//if( !file_exists( $img )) $img=$pathurl . 'default.jpg';
//echo $img;
//exit;

ตามที่พี่ชัยถามครับ มันเก็บค่าลิ้งอ่ะครับ ไม่เก็บรุปลงเบส
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-17 16:31:04 By : sarut14
 


 

No. 10



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



สถานะออฟไลน์


http://localhost/TTD_KM/media/k2/items/cache/default.jpg
link ข้างบน ใช้ตรวจสอบ กํบ file_exists() ไม่ได้ครับ
เอาไป ใส่ ใน browser เลยครับว่า รูปขึ้นไหม
ถ้าขึัน

ก็มาดูคำสั่ง file_exists จะใช้คับ PHP path ครับ
ผมจำคำสั่ง joomla ที่ อ้างอิง php path ไม่ได้ครับ
ถ้าเป็น window ก็จะเป็น D:\appserv\www\...... แบบนี้ครับ

ก็ต้องอ้างอิงให้ถูกครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-17 16:39:55 By : Chaidhanan
 


 

No. 11



โพสกระทู้ ( 174 )
บทความ ( 0 )



สถานะออฟไลน์


ลองใหม่ได้แระครับ ขอบคุณพี่ชัยมากนะครับ

Code (PHP)
$defaultImage = JURI::base().'images/default.jpg';
$orgPath = JPATH_BASE.'/media/k2/items/src/';
$resizePath = JURI::base().'media/k2/items/cache/';
foreach($rs as $item):
	$md5ImageName = md5("Image".$item->id);
	$orgImage = md5("Image".$item->id).'.jpg';
	$itemImage = (is_file($orgPath.$orgImage))? $resizePath.$md5ImageName.'_M.jpg':$defaultImage;


ประมาณนี้ครับผม


ประวัติการแก้ไข
2014-12-17 16:58:19
2014-12-17 17:03:48
2014-12-17 22:52:04
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-17 16:48:37 By : sarut14
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถามการดักค่ากรณี User ไม่ได้แนบรูปมาให้แสดงรูปที่เรากำหนดไว้ครับ กรณีแนบมาก็แสดงรูปปกติ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 05
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่