파일을 업로드 할 수있는 웹 사이트를 만들고 나서 로컬 컴퓨터로 다운로드 할 수 있습니다. 나는 blob에 파일을 저장하고 파일의 크기와 파일의 MIME 유형을 저장함으로써 이것을 수행하고있다. 이제 예상대로 작동한다.MySQL 데이터베이스에서 PHP로 원래 형식으로 BLOB 다운로드
지금 내가하고 싶은 것은 그 데이터 블록을 다운로드하여 원래 형식으로 복원하는 것입니다. 예를 들어 test.docx 파일을 데이터베이스에 업로드 한 경우 이전에으로 test.docx를 다운로드 할 수 있습니다.
나는 그것을 다운로드 할 수 있도록 관리하고 있는데, 문제는 내가 페이지에서 HTML을 다운로드하고 블롭이 빈 (기호가 많음)이라는 것입니다.
Download.php
<html>
<head>
<title>Download File From MySQL</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php
$dbUser = "root";
$dbPassword = "root";
$dsn ='mysql:host=localhost;dbname=filerepository';
$dbh = new PDO($dsn,$dbUser,$dbPassword);
$query = "SELECT ID,Title FROM FoldersFiles";
foreach($dbh->query($query,PDO::FETCH_ASSOC) as $row)
{
?>
<a href="download.php?id=<?php echo $row['ID'];?>"><?php echo $row['Title'];?></a> <br>
<?php
}
if(isset($_GET['id']))
{
$query2 = "SELECT Title,Format,Content,FileSize FROM FoldersFiles WHERE ID = ?";
$sth = $dbh->prepare($query2);
$sth->execute(array($_GET['id']));
$result = $sth->fetchAll(PDO::FETCH_ASSOC);
foreach($result as $row)
{
$size = $row['FileSize'];
$type = $row['Format'];
$title = $row['Title'];
$content = $row['Content'];
}
require_once('/var/www/uploadFile/downloadFile.php');
Download($size,$type,$title,$content);
}
?>
</body>
</html>
downloadFile.php
이 그가 그렇게하여 고정 된 경우 비슷한 문제했지만, 난 여전히 데 있기 때문에 내가 그들을 분할 한<?php
function Download($size,$type,$title,$content)
{
header("Content-Length: $size");
header("Content-Type: $type");
header("Content-Disposition: attachment; filename=\"$title\"");
echo $content;
}
문제.
이 웹 사이트를 개발하기 위해 내 OS로 Ubuntu를 사용하고 있는데, 영향을 줄 수 있습니까? 또한 파일을 다운로드 할 때 어떤 형식으로도 다운로드하지 않습니다.
데이터는 당신이 당신에게 도움이 될 수있는 추가 정보가 필요한 경우가
<html>
<head>
<title>Download File From MySQL</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<a href="download.php?id=46">Main</a> <br>
<a href="download.php?id=65">ICE</a> <br>
<a href="download.php?id=66">PHP</a> <br>
<a href="download.php?id=67">National Diploma Year 2</a> <br>
<a href="download.php?id=68">National Diploma Year 1</a> <br>
<a href="download.php?id=73">Semester 1</a> <br>
<a href="download.php?id=74">Object Orient Programing</a> <br>
<a href="download.php?id=75">Presentations</a> <br>
<a href="download.php?id=76">Homework</a> <br>
<a href="download.php?id=106">test</a> <br>
<a href="download.php?id=108">test</a> <br>
<a href="download.php?id=109">Main</a> <br>
<a href="download.php?id=111">File Repository</a> <br>
<a href="download.php?id=114">Documentation</a> <br>
<a href="download.php?id=115">Documentation</a> <br>
<a href="download.php?id=125">test</a> <br>
PK\0\0\0\0\0!\02‘oWf\0\0¥\0\0\0[Content_Types].xml ¢( \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0´”ËjÃ0E÷…þƒÑ¶ØJº(¥ÄÉ¢ehúŠ4NDõB£¼þ¾ã81¥$14ÉÆ ÏÜ{Ï1ƒÑÚšl µw%ë=–“^i7+Ù×ä-d&á”0ÞAÉ6€l4¼½L60#µÃ’ÍS
Oœ£œƒXø\0Ž*•V$:ÆB~‹ðû^ïK︔§Úƒ
/P‰…IÙëš~7$²ì¹i¬³J&B0ZŠDu¾têOJ¾K(H¹íÁ¹xG
ŒL¨+Çvººš¨dcÓ»°ÔÅW>*®¼\\XR§mpúªÒZ}í¢—€HwnMÑV¬ÐnÏ”Ã-ì\")/ÒZwB`ÚÀË4¾Ýñ ®°sîDXÁôój¿Ì;A*ʈ©Ëc´Ö‰Ö\04ßþÙ[›S‘Ô9Ž> •ø±÷{£Vç4p€˜ôéW×&’õÙóA½’¨Ù|»d‡?\0\0\0ÿÿ\0PK\0\0\0\0\0!\0‘·ï\0\0\0N\0\0\0_rels/.rels ¢( \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0¬’ÁjÃ[email protected]ïƒýƒÑ½QÚÁ£N/cÐÛÙ[ILÛØj×þý<ØØ]éaGËÒÓ“ÐzsœFuà”]ð–U
Š½ Öù^Ã[û¼x\0•…¼¥1xÖpâ›æöfýÊ#I)ʃ‹YŠÏ‘øˆ˜ÍÀå*Döå§i\")ÏÔc$³£žqU×÷˜~3 ™1ÕÖjH[{ª=E¾†ºÎ~
f?±—3-ÂÞ²]ÄTꓸ2j)õ,l0/%œ‘b¬
ð¼Ñêz£¿§Å‰…, ¡ ‰/û|f\\ZþçŠæ?6ï!Y´_áoœ]Aó\0\0ÿÿ\0PK\0\0\0\0\0!\0³¾‹\0\0¶\0\0\0word/_rels/document.xml.rels ¢( \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0¬“ÍjÃ0„ï…¾ƒØ{-;mC ‘s)\\[÷d{ýCõc¤MZ¿}EJ‡ÓƒŽ3bg¾…Õzó; ó½5²$†¦²uoZÅöá˜\'ij©¬A#zØä÷wë7T’ÂïúÁ³b¼€ŽhXqô‰Ð„—Æ:-)H×òAVŸ²E¾HÓ%wÓȯ2Ù®àvõ#°bð?Ù¶iú
_mµ×hèF÷H6ó!SºIÀÉIBðÛ‹¨4*œõ\\}³Þìu‰.l|!8[s˘fñp”¿f6Çð“¡±†
Yª ÇÙšƒxŠ ñ…åûŸ“œ˜\'~õÛò\0\0\0ÿÿ\0PK\0\0\0\0\0!\0K”¸ÄÅ0\0\0ž4\0\0\0\0word/document.xmlì}ëŽã¶¶æÿæ„š?`\'-RÔæ$gtMé=éN‚ó+PÙ¬²vÛ’¤êJå×~Œ3Àpžå<Ê~’!)Ë%«lëbٖ啽Ñ*S²Lr}ëÊÅÅù×?séMÒ0Ž¾½AßÈ7&ñ4Œ¾½ùõ“ÿµq#¥YMƒyÑoožizó¯ßý÷ÿö/O·Óxò¸ Q&±WDéíÓròíÍ,Ë–·oߦ“]é7‹p’Äi|Ÿ}3‰oãûûpBß>ÅÉô-–‘,þZ&ñ„¦)û=\'ˆ¾éÍêu‹×o‹—4b7ïãddìcòðv$Ÿ—_³·/ƒ,¼çaöÌÞ-kÅkâoo“èvõŠ¯×â_¹Í;´ºßHšünþw5âß&tÎúGé,\\¾£ëÛØÍYñ’/ûñe1/ž{Z\"r
Ü$xb——6éþ4ÿÒbž÷|ÿ‘Ü€\"üëo4éÂæo=Yaôòæ¦4¹Hm÷\\}Áòá0â|ŸÄË—·…‡½í]ôyý.ÎÙ-Þµ\"ryhéaù8–Œ“ÛwQœwsÖ#F2‰ÍºÄa}ó“8wñô™_—¬™Ü.ƒ$x7ýöF³LKÖ-óF´fôÏŒ·ê«ÿXë-“nÓ_¾½‘eOG²j›>$¼ÑT0Bںѥ÷Áã<{ýø‡R“èŇ„_Òe0a#`÷åoä_˜‡|N1Yøå‘)xÌâ›·ükŸ°_‚ù·7Æó4É[“ü‰GYÊ_™NBFçô!¦Ò¯ïøËhfVßÞ|
4•~¦OÒ/ñ\"ˆøÍ™¥•ç\'ié³ø‘ô¯â§1)Zþk¥¶·«¾¼]3Ù:k\'ëô]þ¯“Šë$žÇ¼C¢Ç²ø¯:6E{=¶¼ÛÓÐ]‚‚Œ6Ë„¦4ùBo¾ói=²O4Ë¿OÅNôq”œ}Ñã\"ÿ#œ™¯\'$9»÷nZ´¡ÕÈ×_èˆ[>Bk>DBõ¯^~¤”?|[email protected]\0V¶ [´
ݽŒ†cõ×å<¦Íqkn·À?Eíë\0r¹@î‡$üÎéMß| éÓ[:
³¯šÃØŒ\0cæ%ŒªÃÄü·pÞÃ`0|~owæœxÁ©•Jq$e3*ÝÇó)MR)ˆ¦RÂlãéù\0v\0û,æ ¤y¸³€G9¼i0™I÷ß4†³ÍÉp8ŸÎ>³¡¥e/i’…Ì–¾çŸÓð/Úܱ`°<,\'ôKÈWUSéÍ$^2HKñ½ÄlI {µäš¶@7îݲG,Ïtº›£{»•ý>~xà¤Þ€siÌuà¼<&¾ge®²„ –¶0»”þ™T0s?Ìü+»J¿Ð‡0Írd7wmÀ`Åû)ˆ‚*’ªò°ôñ9Íè¢9œU€3Ày¨rZ`<}¼K\'I¸l)§94Ø\0쳯;Ñ ™Ì]›C—ƒô‚2ýNB.9}{\'Ùè’EÖœºhÃ\'¹o¾4n]†“L \"ˆ&³8Y£ÅÐtFÂ/· e÷CÖúÇŸü\'þ‘ŒU¾àY¤ó†Ólv+ÿÏ
fÙ-úF]f7R|;K.ž×‰°¢)ÍØkV·ÅÌÕž‹a|{ó?™ÿ¿8‰?SöàýªŸ¼ƒDG!ˆ#‹>4É‘Ý®Ówù¿\'ÉÈ手ôöàÓZñjØ`ÝÚý¥cóHÚ$ˆ¤IBƒŒò”0‘â§Hzà›yšzðÙ®\0è«\0´W¤˜HOÌ “fÁZúk¦ÜB~KO3š°6*@ÜŸ†÷÷¬6XÄì2¥Kñͦ<}e?I‹Gö~ö•eðÜf9eðY´ÀWÁ<\"—Jƒ}šÅ rXÇÍ9†g2,‘Îøƒ¬eÁX(›IK/ç´êw>z˜—†ÁÝ>ºq³ËG×食+Ñöš|t‡|tðÑ‹ÖCvMÝ×X{9ƒÏÖ,$+ØlC„vo6Û»{é9~\\YcÁjˆ0Ÿ&¾—B6\0žå•ïIïÖÛG¸Ç¿2•8¥ANØwž›ãÿùœ€À\'ŸEòE1‰ ó,aÏ%¸g¯§æ“ÿ%NKÍŸ¥GQe€1Ë„&YFy\"d^G
Ëû¬š{3ÎàS\"®Jäy5wÌC…¿Rüžˆx=ÐLŠâ,¼™ï™‚x–&³ z`Ýg_ 3¡2¸a¯Zo;œË%Z°Åà*-®‚-~PŸB7`¬±Þ-.±ùûcÊ0/-ã%S<ú f™ÇL\'´@üàs.ñWø)]2<
알려주세요 다운로드되는 : D 데이터를 확인 보인다
파일을 데이터베이스에 BLOB으로 저장하는 이유는 무엇입니까? 그것은 거의 의미가 없습니다. 파일을 서버에 파일로 저장 한 다음 파일 이름을 데이터베이스에 저장하십시오. – Styphon
많은 파일을 처리하고 싶을 때 더 유용할까요? 그런 다음 다운로드 할 수 있습니까? 내가 뭘하려고하는 것처럼? – Steve
예, 예. 태그를 사용하여 파일에 직접 링크하거나, 직접 링크를 볼 수 없도록하려면 download.php로 링크 할 수 있지만 download.php 파일을 열고 읽은 다음 이미하고있는 것처럼 출력하십시오. – Styphon