作者: fatbunchan 時間: 2008-9-24 12:49 標題: php upload 圖片到mysql
呢個係我係網上copy 落黎0既
<html>
<head>
<title>Upload File To MySQL Database</title>
<meta http-equiv="Content-Type" c>
<style type="text/css">
<!--
.box {
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
border: 1px solid #000000;
}
-->
</style>
</head>
<body>
<?
if(isset($_POST['upload']))
{
$fileName = $_FILES['userfile']['name'];
$tmpName = $_FILES['userfile']['tmp_name'];
$fileSize = $_FILES['userfile']['size'];
$fileType = $_FILES['userfile']['type'];
$fp = fopen($tmpName, 'r');
$content = fread($fp, $fileSize);
$content = addslashes($content);
fclose($fp);
if(!get_magic_quotes_gpc())
{
$fileName = addslashes($fileName);
}
include 'library/config.php';
include 'library/opendb.php';
$query = "INSERT INTO upload (name, size, type, content ) VALUES ('$fileName', '$fileSize', '$fileType', '$content')";
mysql_query($query) or die('Error, query failed');
include 'library/closedb.php';
echo "<br>File $fileName uploaded<br>";
}
?>
<form action="" method="post" enctype="multipart/form-data" name="uploadform">
<table width="350" border="0" cellpadding="1" cellspacing="1" class="box">
<tr>
<td width="246"><input type="hidden" name="MAX_FILE_SIZE" value="2000000"><input name="userfile" type="file" class="box" id="userfile">
</td>
<td width="80"><input name="upload" type="submit" class="box" id="upload" value=" Upload "></td>
</tr>
</table>
</form>
</body>
</html>
點解我揀左 file 再click upload時佢會話我"Error query failed", 但係如果唔揀file click upload 佢就會upload 一個空白record 上sql 0既?
我唔係好識php, 請指教, 謝謝!
作者: hkjoey 時間: 2008-9-24 17:46
is_uploaded_file() - 檢查上載既檔案正確性,返回true/false
作者: Puff 時間: 2008-9-25 22:26
$content 唔搵野 (like base64) encode 左先?
作者: MacMonster 時間: 2008-9-25 23:52
建議唔好擺張圖入MySQL, 用番File吧.
作者: hoho1986 時間: 2008-9-26 00:27
係可以張圖放入MYSQL,但真得不建議,會使MySQL運行得非常慢。
你是用怎麼column type
作者: ioptional 時間: 2008-9-26 06:38
你 upload 左之後, 放係一個 Directory 入面, 而 MySQL 只係用黎記住個 PATH
作者: weyho 時間: 2008-9-26 08:00
一般做法係咁, 但可能樓想BACKUP DB 時一次BACK晒, 以免忘記吧
好似係BOOL 定 BINRARY. 但樓上所說, 真的比較慢
作者: adrianmak 時間: 2008-9-26 09:26
提示: 作者被禁止或刪除 內容自動屏蔽
作者: hkjoey 時間: 2008-9-26 16:17
原帖由 adrianmak 於 2008-9-26 09:26 發表
對!!!!!!!!!
不懂的人才會將image 直接儲入db 入面
正確的做法是用個field 儲上傳image 的path
image 文件就係只簡單在server 上某個地方而已
MYSQL咁做確實唔可取..
我以前試過係MSSQL咁玩..
不過無咩大問題..
作者: sunhikari 時間: 2008-9-26 16:40
呢招的確係可以
但話比你聽,玩呢招係好晒時間
寫程式寫到嘔,而且仲要寫埋buffer page
但用db記path就會令program簡單d同埋db運作會無咁慢
作者: patrickit 時間: 2008-9-26 17:18
用db 記相片, 甚至其他binary, 未必冇用.
將files同db分開亦會做成保安及維護問題.
唔好一概而論.
(大把oracle都係咁用既)
作者: fatbunchan 時間: 2008-10-6 11:47
哦..
一般都認為唔好落mysql 好, 咁我再諗下點整先!
有問題再上黎問!
謝謝各位!
作者: ioptional 時間: 2008-10-6 15:13
原帖由 patrickit 於 2008-9-26 17:18 發表
用db 記相片, 甚至其他binary, 未必冇用.
將files同db分開亦會做成保安及維護問題.
唔好一概而論.
(大把oracle都係咁用既)
PHP 有 Pack 同 Unpack, 保安好用 Pack 加上你自己自知既 Pack Char 有一樣效果, 只係慢D但係對 DB 負擔低好多
作者: bibilubi 時間: 2008-10-10 12:43
搭單問下
JSP 點樣 UPLOAD FILE
自動命名
作者: fatbunchan 時間: 2008-10-11 16:19
再問下, 點可以當你delete 個record 時, upload 左0既圖片一齊delete 埋架, php 可以做到嗎?
作者: ioptional 時間: 2008-10-11 17:38
原帖由 fatbunchan 於 2008-10-11 16:19 發表
再問下, 點可以當你delete 個record 時, upload 左0既圖片一齊delete 埋架, php 可以做到嗎?
Get返個 Record unlink 左佢



