webdata
DX推進をサポートする技術者向け情報提供サイト

技術者向け技術情報

TOP >技術者向け技術情報 > ファイルのダウンロード

【PHP】ファイルのダウンロード

 2022-07-24 (更新日:2022-07-24)
 データベースのファイルテーブルより一覧を表示しファイル名のクリックよりダウンロードさせる利用例です。

<ダウンロードサンプルプログラム> file_list.php
<?php

	//DB接続
	$conn = mysqli_connect();		//パラメータを記載のこと
	
	$id = $_GET["id"];
	if(!empty($id)){
		$sql = "select パス,ファイル名 from file_list where uidl = $id;";
		$res = mysqli_query($conn, $sql) or die("[Error] $sql");
		$row = mysqli_fetch_array();
			$path = $row["path"];
			$fileName = $row["ファイル名"];
				$file = $path.'/'.$fileName;

	//ダウンロード
			header('Content-Length: '.filesize("$file"));
			header('Content-disposition: attachment; filename="'.$fileName.'"');
			readfile($file);
	}

	//一覧表の表示
echo <<<EOF
	<table bgcolor="#ADADAD" cellspacing="1" style="table-layout:fixed;">
		<tr bgcolor="#DCDCDC">
			<td width="40">ID
			<td width="200">ファイル名
		</tr>
EOF;

	$sql = "select id,パス,ファイル名 from ファイルテーブル;";
	$res = mysqli_query($conn, $sql) or die("[Error] $sql");
	while($row = mysqli_fetch_array()){
		$id = $row["id"];
		$fileName = $row["ファイル名"];

echo <<<EOF
	<tr bgcolor="white">
		<td>{$id}</td>
		<td>
			<a href="/file_list.php?id={$id}">{$fileName}
		</td>
	</tr>
EOF;

	}

echo <<<EOF
	</table>
EOF;

?>