簡體   English   中英

如果我想使用PHP和MySQL從用戶保存文件,我將使用什么數據類型?

[英]What data type would I use if I want to save a file from a user using PHP and MySQL?

我希望用戶能夠以PDF,.txt,.doc,.docx上傳他們的簡歷; 並允許潛在雇主下載該文件。

我應該使用哪種數據類型? 在MS MSQL中,我會使用varbinary(max),對嗎? 但由於我是MySQL的新手,我有點困惑。 :)

您必須使用BLOB類型

您應該使用varchar來保存文件的路徑。 文件本身不應存儲在數據庫中。

沒有人應該提到整個不要將數據庫中的文件存儲到flickr中。 :)

將文件(甚至是大文件)存儲在數據庫中是一個關於硬件的問題而不是編程實踐。 如果您的服務器(或服務器場)可以處理業務,那么它沒有真正的缺點,並且有優點。 主要原因是數據庫中的文件沒有“卡在”服務器上。 文件轉到數據庫的任何位置,並根據需要進行復制。

和所有事情一樣,沒有一個答案是正確的......你必須根據你的實際項目要求和未來計划做出最好的決定。

在這個階段,上述兩種選擇都有其優點和缺點。 問題是,

  • 當存儲為blob時,文件的大小是否會增加
  • 性能是否受損,

相對於從服務器存儲和下載它。

在MySQL中存儲像DOC這樣的二進制文檔通常是個壞主意。 我只是將它們上傳到文件系統或轉換為純文本,然后以BLOB或varchar保存到MySQL。

我同意上面的大部分內容。 與在數據庫中存儲縮略圖的Facebook不同,將數據存儲在數據庫中通常不是一個好主意。

filename.php 在此文件中使用form post方法

Upload File<a href="download.php?f=<?php echo $upload_file ?>"><?php echo $upload_file ?></a>&nbsp;<input type="file" name="uploaded_file" id="uploaded_file" value="">

在php中獲取發布的文件

$file = $_FILES['uploaded_file'];    //receive the posted file
    $name = $file['name'];
    $path = "C:/wamp/www/mantis/uploads/" . basename($name); // 5
    if (move_uploaded_file($file['tmp_name'], $path)) {

    } else {

    }
**mysql query**
insert into tablename(upload_file)values('".$name."');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM