php+mysqlを使用してファイルを保存および出力する方法_PHPチュートリアル

WBOY
リリース: 2016-07-21 16:06:44
オリジナル
942 人が閲覧しました

ローカル ファイルがサーバーにアップロードされた後、サーバー スクリプトはファイルをマシンの特定のディレクトリに
ファイルとして保存する方法が一般的です。この時点で、一部のプログラムでは、ファイル名を自動的に変更したり、名前にアップロード時刻を追加したりして、ファイル名の一意性を確保します。このようにして、ファイルの元の名前が失われます。ファイル名を使用して特定のファイル情報をクエリすることには多くの困難があり、ファイルの統合管理には役立ちません。その 1 つは、ファイルをデータベースに保存し、データベースの強力な機能を使用してファイルに対するさまざまな操作を簡単に実行することです。この記事では 2 番目の方法を使用します。

この一連のプログラムは、Web ページを通じてハードディスクからサーバーのデータベースにファイルをアップロードし、
ファイルの内容を読み取る方法を示します。

使用手順:
全部で5つのプログラムがあり、手順は次のとおりです:
1. file.sql ---このプログラムで使用されるデータベーステーブルの構造 [注: 使用されるデータベースはtest]
2. Upload.php - -- フォームをアップロードします
3. submit.php --- アップロードハンドラー
4. show_info.php --- アップロードされたファイル情報の一部を表示します
5. - [ダウンロード]ファイルを表示

/// ////////////////////////////////////// ////////////// //////////////////
(1) file.sql ---
//簡単な説明
データベースアップロードされたファイルの基本情報を保存する構造体です。通常の blob 型では最大 64K バイトを保存できるため、フィールドにはロングテキスト型を使用してください。また、一般に、PHP のデフォルト設定ではアップロード ファイルの最大サイズは 2M です。アップロードされるファイルが特に大きい場合は、php.ini の設定を調整することを忘れないでください。
//ファイルソースコード
create table accept(
id int NOT NULL auto_increment, #主キー、自動蓄積
file_data longblob, #ファイル内容
file_type varchar(100), #ファイルタイプ
file_name var char(255), file_size int, #ファイルサイズ
PRIMARY KEY(id) #主キー
)

//////////////////////////// //// ///////////////////////////////////////
(2)アップロードします。 php ---
/ /簡単な説明
アップロード インターフェイスで、ユーザーはファイルを選択し、それを submit.php に送信して処理します
VALUE を設定することで、MAX_FILE_SIZE という隠し値フィールドがあることに注意してください。アップロードするファイルのサイズを
制限することができます。
//プログラムのソースコード


'multipart/form-data' name='myform' action='submit.php'
method='post'>
;tr>アップロード ファイルを選択 ;td Colspan='2'><入力名='送信' 値='アップロード'
タイプ='送信'>
本文>


////////////////////////////// ////////////////////////////////
(3)submit.php ---
//簡単な説明
アップロードユーザーは、ファイルの基本情報とともにファイルをデータベースに保存します
//プログラム ソース コード
if($myfile != "none" && $myfile != "") { //これで、ファイルをアップロードします

/ タイムアウト制限時間を設定します。デフォルト時間は 30 秒で、時間制限がない場合は 0 に設定します
$time_limit=60;
set_time_limit($time_limit); //

=fopen($myfile, "rb");
if(!$fp) die("ファイルオープンエラー");
$file_data = addslashes($fp, filesize($myfile));
fclose($ fp); $ myfile);

// ファイル形式、名前、サイズ
$ file_type = $ myfile_type;
$ file_name = $ myfile_name , // データベースに接続し、ファイル Stocking をデータベースに配置します。 $ conn = mysql_connect ("127.0 .0.1", "***", "***");
if (! $ CONN) DIE ("Error: MySQL Connect Failed");
mysql_select_db ( "test",$conn);

L $ Result = MySQL_QUERY ($ SQL)

// 次の文は INSERT ステートメントの ID を取り出します
$ ID = mysql_insert_id ();

mysql_close ($ conn) // デフォルトのタイムアウト設定を復元します

;アップロードに成功しました ---";
echo "& lt; a href = 'show_info.php? ID = $ id' & gt; Else {h echo "任意のファイルをアップロードします"; /////////////////////////////////////////
(4 ) show_info.php ---
//簡単な説明
ファイルの基本情報 [ファイル名とファイル サイズ] をデータベースから取得します。
//プログラムのソースコード
if(!$conn) die("エラー: mysql 接続に失敗しました");
mysql_select_db("test",$conn);

$sql = "受信場所からファイル名を選択しますid=$id";
$result = mysql_query($sql);
if(!$result) die(" error: mysql query");

// 指定されたレコードがない場合はエラーが報告されます
$num=mysql_num_rows($result);
if($num<1) die("error: no this Recorder");

//プログラムの次の 2 つの文は次のように書くこともできます
//$row =mysql_fetch_object($result);
//$name=$row->name;
$name = mysql_result($result,0,"file_name "); $size = mysql_result($result,0,"file_size");

mysql_close($conn);

echo "
アップロードされたファイル情報:"
echo "
ファイルの名前 - $name ";
echo "
ファイルのサイズ - $size";
echo "
添付ファイル ";
?>

////////////////////////////////////////////// /////////////////////////
(5)show_add.php ---
//簡単な説明
データベースからファイルの内容を取得します
/ /プログラムのソースコード
if(!$conn) die("エラー: mysql 接続に失敗しました");
mysql_select_db("test",$conn);
$sql = "select * from accept where id=$id" ;
$result = mysql_query($sql);
if(!$result) die("エラー: mysql クエリ");
if($num<1);エラー: このレコーダーはありません");

$data = mysql_result($result,0,"file_data");
$type = mysql_result($result,0 ,"file_type");
$name = mysql_result($result, 0,"file_name");

mysql_close($conn);

//まず、対応するファイルヘッダを出力し、元のファイル名を復元します
header( "Content-type:$type"); -Disposition:attachment; filename=$name");
echo $data;
?>

このプログラムは win2000 pro + apache 1.13.19 + php Passed under 4.0.5 + mysql 3.23.36 で動作します。​



http://www.bkjia.com/PHPjc/315293.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/315293.html

技術記事
ローカル ファイルがサーバーにアップロードされた後、サーバーのスクリプトによってファイルが保存されます。1 つはマシンの特定のディレクトリにファイルとして保存する方法ですが、さまざまな方法があります...

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!