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,038

HOME > PHP > PHP Forum > ถามผุ้รู้อยากเขียนโค๊ดดึงไฟล์อีกเว็บนึงมาแสดงในอีกเว็บนึงทำไง?



 

ถามผุ้รู้อยากเขียนโค๊ดดึงไฟล์อีกเว็บนึงมาแสดงในอีกเว็บนึงทำไง?

 



Topic : 065094

Guest




จะเขียนโค๊ดphpยังไงให้ดึงไฟล์มาแสดงหรือดาวน์โหลดอีกเว็บนึง
ตัวอย่าง
ไฟล์ URLนี้จะเก็บในMysql ในแถวที่1ตารางfileurl
http://www.website1.com/file.doc

จะเรียกโดย http://www.website2.com/download.php?id=1

Code (PHP)
<?php
if (isset($_GET["id"])) {

$id = $_GET["id"];
if ($id == "") die("Error1");

$result = mysql_query("SELECT * FROM `fileurl` WHERE id='$id'");
$number = mysql_num_rows($result);
$row = mysql_fetch_array($result);
if (!$number) die("Error2");


$q = "SELECT * FROM `fileurl` WHERE id='$id'";
if(!($result_set = mysql_query($q))) die(mysql_error());
$row = mysql_fetch_array($result_set);
/*
แล้วจะเขียนต่อยังไงให้โค๊ดดึงไฟล์ http://www.website1.com/file.doc มาให้ดาวน์โหลดแต่ไม่ให้userเห็น url http://www.website1.com/file.doc 
*/
?>




Tag : PHP, MySQL







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2011-08-21 12:44:23 By : phisarn.b View : 1027 Reply : 19
 

 

No. 1



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



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


ไม่แนะนำครับบางท่านเค้าก็บล๊อคด้วยวิธีของเค้าหลาย ๆ อย่างแนะนำว่าให้เขียนเองหรือทำเองดีกว่าไปเอาของชาวบ้านมาฮะ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-08-21 13:40:04 By : treza
 


 

No. 2



โพสกระทู้ ( 11,835 )
บทความ ( 10 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

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


http://www.website1.com โคตรคุณเองหรือเปล่าครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-08-21 13:47:17 By : ikikkok
 

 

No. 3

Guest


ตอบความคิดเห็นที่ : 2 เขียนโดย : ikikkok เมื่อวันที่ 2011-08-21 13:47:17
รายละเอียดของการตอบ ::
ทั้งสองเว็บเป็นของผมเองเพียงแต่ www.website1.com ใช้เก็บไฟล์และ www.website2.com เป็นหน้าเว็บเปล่าๆ ไม่ได้ไปดึงไฟล์ของชาวบ้านเขามาครับ ผมเพียงแค่ไม่อยากให้userเห็นลิ้งจากwww.website1.comเพราะว่าเป็นลิ้งตรงทั้งหมดในเว็บครับยังไงช่วยแนะนำด้วยนะครับถ้าเผยในนี้ไม่ได้ก็ช่วยตอบที่อีเมล์ก็ได้นะครับ [email protected]

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-08-21 19:09:37 By : phisarn.b
 


 

No. 4



โพสกระทู้ ( 11,835 )
บทความ ( 10 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

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


เก็บชื่อไฟล์ใน database?
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-08-21 20:54:06 By : ikikkok
 


 

No. 5



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



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


ตอบความคิดเห็นที่ : 4 เขียนโดย : ikikkok เมื่อวันที่ 2011-08-21 20:54:06
รายละเอียดของการตอบ ::
คือว่ายังงี้ครับ www.website1.com เป็น serverเก็บไฟล์ผม
และ www.website2.com เป็นserverรันหน้าเว็บ

้http://www.website1.com/file.doc เป็นURLที่ถูกเก็บในsql website2.com
และผมจะโหลดไฟล์ผ่านwebsite2.com/donwload.phpโดยโค๊ดของไฟล์donwload.phpก็เหมือนกับด้านบนแต่อยากให้โค๊ดไฟล์นี้ดึงไฟล์จากwww.website1.com/file.docมาแสดงหรือดาวน์โหลดแต่ไม่อยากให้userเห็นลิ้งจาก www.website1.com/file.doc

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-08-21 21:01:04 By : soisiam
 


 

No. 6



โพสกระทู้ ( 11,835 )
บทความ ( 10 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

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


ผมเข้าใจครับ ว่าคุณอยากทำอะไร แต่ถามว่าเก็บข้อมูลไฟล์ไว้ใน db ใช่ไหม ผมจะได้บอกวิธี
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-08-21 21:02:55 By : ikikkok
 


 

No. 7



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



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


ตอบความคิดเห็นที่ : 6 เขียนโดย : ikikkok เมื่อวันที่ 2011-08-21 21:02:55
รายละเอียดของการตอบ ::
เก็บแค่URLครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-08-21 21:09:24 By : soisiam
 


 

No. 8



โพสกระทู้ ( 11,835 )
บทความ ( 10 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

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


http://www.website1.com/file.doc
เก็บแบบนี้หรือว่าชือไฟล์ครับ ผมแนะนำให้เก็บชื่อไฟล์ แล้วก็เพิ่มฟิลด์อีกอันนึง เก็บรหัส md5 หรืออะไรก็ได้เข้าไป
แล้วไฟล์คุณก็เก็บไว้ใน folder ใดๆ จะลึกเท่าไหร่เรื่องของคุณ

จากนั้นถามต่อว่า website1 สามารถดึงข้อมูลจากฐานข้อมูลได้หรือไม่ เท่าที่อ่านฐานข้อมูลอยู่ website2
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-08-21 21:30:16 By : ikikkok
 


 

No. 9



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



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


ตอบความคิดเห็นที่ : 8 เขียนโดย : ikikkok เมื่อวันที่ 2011-08-21 21:30:16
รายละเอียดของการตอบ ::
เก็บข้อมูลในdbแค่ http://www.website1.com/file.doc dbอยู่ในwww.website2.com ส่วนwww.website1.comไว้เก็บไฟล์อย่างเดียวครับ
และสองเว็บนี้ใช้serverคนละตัวคนละเครื่องเลย

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-08-21 21:36:39 By : soisiam
 


 

No. 10



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



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



แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-08-21 21:45:15 By : soisiam
 


 

No. 11



โพสกระทู้ ( 11,835 )
บทความ ( 10 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

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


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


ประวัติการแก้ไข
2011-08-21 21:57:46
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-08-21 21:55:42 By : ikikkok
 


 

No. 12



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



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


ตอบความคิดเห็นที่ : 11 เขียนโดย : ikikkok เมื่อวันที่ 2011-08-21 21:55:42
รายละเอียดของการตอบ ::
ต้องการแค่ไม่อยากให้เห็นว่าไฟล์อยู่ไหนก็พอครับ



ประวัติการแก้ไข
2011-08-21 22:09:49
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-08-21 21:59:58 By : soisiam
 


 

No. 13



โพสกระทู้ ( 11,835 )
บทความ ( 10 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

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


จัดไปครับ

ฝั่ง website2
ผมตัดตอนเลยนะ

Code (PHP)
while($rows=mysql_fetch_assoc($result)){
echo '<a href="http://www.website1.com/download.php?' . base64_encode(serialize(array('file'=>$rows['file_name']))) . '" target="_blank">' . $rows['title'] . '</a>';
}



ฝั่งโน้น website1

download.php
Code (PHP)
$get = unserialize(base64_decode($_SERVER['QUERY_STRING']));
$path = "files/docs/" . $get['file']; // อันนี้เก็บลึกขนาดไหนก็ได้ตามใจ
if(file_exists($path)){
header("Content-Description: File Transfer");
header("Content-Type: application/force-download");
header("Content-Disposition:attachment; filename=". date("YmdHis"). end(explode(".", $get['file'])));
readfile($path);
}else{
echo 'File not found.';
}


ผิดพลาดบอกนะครับ พิมพ์สด


ประวัติการแก้ไข
2011-08-21 22:17:08
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-08-21 22:16:22 By : ikikkok
 


 

No. 14



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



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


ไม่จำกัดนามสกุลใช่ป่ะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-08-21 22:21:41 By : soisiam
 


 

No. 15



โพสกระทู้ ( 11,835 )
บทความ ( 10 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

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


ครับใช่ ไม่จำกัด
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-08-21 22:26:37 By : ikikkok
 


 

No. 16



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



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


http://www.website2.com/donwload.php?id=1

Code (PHP)
<?php
if (isset($_GET["id"])) {

$id = $_GET["id"];
if ($id == "") die("Error1");

$result = mysql_query("SELECT * FROM `fileurl` WHERE id='$id'");
$number = mysql_num_rows($result);
$row = mysql_fetch_array($result);
if (!$number) die("Error2");


$q = "SELECT * FROM `fileurl` WHERE id='$id'";
if(!($result_set = mysql_query($q))) die(mysql_error());
$row = mysql_fetch_array($result_set);

$path = $row['file_url']; //Ex. http://www.website1.com/file.doc
if(file_exists($path)){
header("Content-Description: File Transfer");
header("Content-Type: application/force-download");
header("Content-Disposition:attachment; filename=". date("YmdHis"). end(explode(".", $row['file_name'])));
readfile($path);
}else{
echo 'File not found.';
}
?>



ถ้าแบบนี้จะส่งผลให้ www.website2.com ช้ามั้ยครับ


ประวัติการแก้ไข
2011-08-21 22:34:53
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-08-21 22:32:31 By : soisiam
 


 

No. 17



โพสกระทู้ ( 11,835 )
บทความ ( 10 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

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


แบบนี้ใช้ file_exists ไม่ได้ อาจจะต้องหันมาใช้ curl แทน

แล้วจะเก็บแยกไปทำไมครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-08-21 22:57:49 By : ikikkok
 


 

No. 18



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



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


ตอบความคิดเห็นที่ : 17 เขียนโดย : ikikkok เมื่อวันที่ 2011-08-21 22:57:49
รายละเอียดของการตอบ ::
เครื่องเก็บไฟล์ใช้ HFS(windows) ครับ อีกเครื่องใช้ Apache(linux) มันเลยลำบากไปนิด

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-08-21 23:06:39 By : soisiam
 


 

No. 19



โพสกระทู้ ( 11,835 )
บทความ ( 10 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

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


ถ้าไม่อยาก redirect ไป website1 ก็ต้องดูเรื่อง curl มาแทน readfile , file_exists ครับ ลองดูนะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-08-22 02:27:10 By : ikikkok
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ถามผุ้รู้อยากเขียนโค๊ดดึงไฟล์อีกเว็บนึงมาแสดงในอีกเว็บนึงทำไง?
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 04
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2025 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่