อัพโหลดไฟล์เป็นชื่อลง database เรียกมาแสดงเป็น link path พอกดแล้วไปที่หน้า Directory

ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา อัพโหลดไฟล์เป็นชื่อลง database เรียกมาแสดงเป็น link path พอกดแล้วไปที่หน้า Directory

อัพโหลดไฟล์เป็นชื่อลง database เรียกมาแสดงเป็น link path พอกดแล้วไปที่หน้า Directory
เราทำหน้าอัพโหลดไฟล์เก็บ path ลงใน database ตัวอัพโหลดไฟล์จะมีทั้งหมด 4 อัน แต่ว่าจะอัพโหลดเข้าไปไม่พร้อมกัน แล้วก็จะมีหน้าแสดงข้อมูลคือ เอา link path มาวางเพื่อให้คนได้คลิกโหลดไปได้ แต่ทีนี้บางหัวข้อที่ยังไม่มีไฟล์ พอคลิกแล้วไปที่หน้า index Directory ตัวคลิกโหลดใช้ button ค่ะ มีวิธีปิดซ่อนหรือถ้าไม่มีข้อมูลให้คลิกไม่ได้มั้ยค่ะ

อันนี้เป็น code ตัวอย่างค่ะ

<div class="col-sm-6">
<div class="card position-relative">
<div class="card-body">
<div class="mb-3">
<button type="button" class="btn btn-secondary btn-block"><a href="file_cr_content/<?php echo $row['cr_content'];?>"target="_blank">เอกสาร</a></button>
<button type="button" class="btn btn-secondary btn-block"><a href="file_cr_quiz/<?php echo $row['cr_quiz'];?>"target="_blank">ข้อสอบ</a></button>
<button type="button" class="btn btn-secondary btn-block"><a href="file_cf_doc/<?php echo $row['cf_doc'];?>"target="_blank">เอกสารประกอบ</a></button>
<button type="button" class="btn btn-secondary btn-block"><a href="file_ cr_file_rs/<?php echo $row['cr_file_rs'];?>"target="_blank">Source File</a></button>
</div>
</div>
</div>
</div>


Jenoday. 110.169.223.xxx 28-05-2021 08:16:36

คำแนะนำ และการใช้งาน

สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก


  • ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
  • เปลี่ยน


    ( หรือ เข้าใช้งานผ่าน Social Login )

 ความคิดเห็นที่ 1
กำหนดเงื่อนไข ตรวจสอบว่ามีข้อมูล หรือว่ามีไฟล์หรือไม่ 
ถ้าไม่มีก็อาจจะไม่แสดงปุ่มไปเลย หรือก็อาจจะแค่คลิกปุ่มไม่ได้
 
<?php 
// ถ้ามีไฟล์แสดงปุ่ม
if(is_file("file_cf_doc/".$row['cf_doc'])){?> 
<button type="button" class="btn btn-secondary btn-block">
<a href="file_cf_doc/<?php echo $row['cf_doc'];?>"target="_blank">เอกสารประกอบ</a></button>
<?php } ?>
 
<?php 
// ถ้าไม่มีไฟล์แสดงปุ่ม แต่กดไม่ได้
$link_file = "javascript:void(0);";
$status_button = "disabled";
if(is_file("file_cf_doc/".$row['cf_doc'])){
   $link_file = "file_cf_doc/".$row['cf_doc'];
   $status_button = "";
}
?>
<button type="button" class="btn btn-secondary btn-block" <?= $status_button?> >
<a href="<?= $link_file?>"target="_blank">เอกสารประกอบ</a></button>
<?php } ?>
 
กรณีที่ server ขึ้น index directory ที่ลิสรายการไฟล์คล้ายรูปด้านล่าง
 

 
 
ลองสร้างไฟล์ .htaccess หรือถ้ามีอยู่แล้วก็ เพิ่มส่วนของบรรทัดนี้เข้าไป

# DISABLE DIRECTORY INDEXES
Options -Indexes
 
 


ninenik 223.24.62.xxx 28-05-2021
 ความคิดเห็นที่ 2
ทำได้แล้วค่ะ ขอบคุณมากนะคะ


tt1622164424 110.169.223.xxx 28-05-2021 13:05






เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ