|
|
|
ถามผุ้รู้อยากเขียนโค๊ดดึงไฟล์อีกเว็บนึงมาแสดงในอีกเว็บนึงทำไง? |
|
|
|
|
|
|
|
ไม่แนะนำครับบางท่านเค้าก็บล๊อคด้วยวิธีของเค้าหลาย ๆ อย่างแนะนำว่าให้เขียนเองหรือทำเองดีกว่าไปเอาของชาวบ้านมาฮะ
|
|
|
|
|
Date :
2011-08-21 13:40:04 |
By :
treza |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
http://www.website1.com โคตรคุณเองหรือเปล่าครับ
|
|
|
|
|
Date :
2011-08-21 13:47:17 |
By :
ikikkok |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เก็บชื่อไฟล์ใน database?
|
|
|
|
|
Date :
2011-08-21 20:54:06 |
By :
ikikkok |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมเข้าใจครับ ว่าคุณอยากทำอะไร แต่ถามว่าเก็บข้อมูลไฟล์ไว้ใน db ใช่ไหม ผมจะได้บอกวิธี
|
|
|
|
|
Date :
2011-08-21 21:02:55 |
By :
ikikkok |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
http://www.website1.com/file.doc
เก็บแบบนี้หรือว่าชือไฟล์ครับ ผมแนะนำให้เก็บชื่อไฟล์ แล้วก็เพิ่มฟิลด์อีกอันนึง เก็บรหัส md5 หรืออะไรก็ได้เข้าไป
แล้วไฟล์คุณก็เก็บไว้ใน folder ใดๆ จะลึกเท่าไหร่เรื่องของคุณ
จากนั้นถามต่อว่า website1 สามารถดึงข้อมูลจากฐานข้อมูลได้หรือไม่ เท่าที่อ่านฐานข้อมูลอยู่ website2
|
|
|
|
|
Date :
2011-08-21 21:30:16 |
By :
ikikkok |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Date :
2011-08-21 21:45:15 |
By :
soisiam |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ต้องการความปลอดภัยระดับไหนครับ ใช้ base64 พอไหม หรือว่าต้องการแค่ไม่อยากให้เห็นว่าไฟล์อยู่ไหนก็พอแล้ว
ผมจะได้ใช้ base64 มันไม่ต้องเขียนการเข้ารหัสถอดรหัสเพิ่ม จะได้ง่ายหน่อย
หรือว่าคุณจะไปเขียนการเข้ารหัสถอดรหัสเองให้มันสามารถเข้าและถอดรหัสได้ทีหลังได้ไหม
|
ประวัติการแก้ไข 2011-08-21 21:57:46
|
|
|
|
Date :
2011-08-21 21:55:42 |
By :
ikikkok |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
จัดไปครับ
ฝั่ง 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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่จำกัดนามสกุลใช่ป่ะครับ
|
|
|
|
|
Date :
2011-08-21 22:21:41 |
By :
soisiam |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ครับใช่ ไม่จำกัด
|
|
|
|
|
Date :
2011-08-21 22:26:37 |
By :
ikikkok |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แบบนี้ใช้ file_exists ไม่ได้ อาจจะต้องหันมาใช้ curl แทน
แล้วจะเก็บแยกไปทำไมครับ
|
|
|
|
|
Date :
2011-08-21 22:57:49 |
By :
ikikkok |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้าไม่อยาก redirect ไป website1 ก็ต้องดูเรื่อง curl มาแทน readfile , file_exists ครับ ลองดูนะ
|
|
|
|
|
Date :
2011-08-22 02:27:10 |
By :
ikikkok |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|