如何利用php+mysql保存和输出文件_PHP教程
本地文件上传到服务器后,服务器的脚本对文件进行保存,一般有两种方式,一种是作为
文件保存到机器的特定目录下,但是这里就有很多诸如文件重名带来的种种不便之处,有的程
序自动改文件名字,把名字加上上传时间等方法以保证文件名的唯一性,这样失去了文件的原
始名字,通过文件名查询特定的文件信息也有很多困难,不利于文件的统一管理;一种是把文
件保存到数据库中利用数据库的强大功能,可以方便的实现文件的各种操作。本文采用的是第
二种方法。
这一组程序演示了,如何将硬盘的一个文件通过网页,上传到服务器的数据库里面,并且
读出文件的内容。
使用说明:
一共有5个程序,说明如下:
1. file.sql --- 本程序要用到的数据库表的结构[注:数据库用的是test]
2. upload.php --- 上传表单
3. submit.php --- 上传处理程序
4. show_info.php --- 显示部分上传的文件信息
5. show_add.php --- 显示[下载]文件
//////////////////////////////////////////////////////////////////////
(1)file.sql ---
//简要说明
保存上传得文件的基本信息的数据库结构,此处注意保存文件内容的字段,使用longtext类型
因为普通的blob类型最大存储64K字节。另外,一般php的默认配置最大上传文件为2M,如果上
传的文件特别大,莫忘了调整php.ini的设置哦。
//文件源码
create table receive(
id int NOT NULL auto_increment, #主键,自动累加
file_data longblob, #文件内容
file_type varchar(100), #文件类型
file_name varchar(255), #文件名字
file_size int, #文件大小
PRIMARY KEY(id) #主键
)
//////////////////////////////////////////////////////////////////////
(2)upload.php ---
//简要说明
上传界面,用户选择文件,然后提交给submit.php处理
值得注意的是一个 MAX_FILE_SIZE的隐藏值域,通过设置其VALUE可
以限制上载文件的大小。
//程序源码
//////////////////////////////////////////////////////////////////////
(3)submit.php ---
//简要说明
把用户上传得文件连同文件的基本信息保存到数据库里
//程序源码
if($myfile != "none" && $myfile != "") { //有了上传文件了
//设置超时限制时间,缺省时间为 30秒,设置为0时为不限时
$time_limit=60;
set_time_limit($time_limit); //
//把文件内容读到字符串中
$fp=fopen($myfile, "rb");
if(!$fp) die("file open error");
$file_data = addslashes(fread($fp, filesize($myfile)));
fclose($fp);
unlink($myfile);
//文件格式,名字,大小
$file_type=$myfile_type;
$file_name=$myfile_name;
$file_size=$myfile_size;
//连接数据库,把文件存到数据库中
$conn=mysql_connect("127.0.0.1","***","***");
if(!$conn) die("error : mysql connect failed");
mysql_select_db("test",$conn);
$sql="insert into receive
(file_data,file_type,file_name,file_size)
values ('$file_data','$file_type','$file_name',$file_size)";
$result=mysql_query($sql);
//下面这句取出了刚才的insert语句的id
$id=mysql_insert_id();
mysql_close($conn);
set_time_limit(30); //恢复缺省超时设置
echo "上传成功--- ";
echo "显示上传文件信息";
}
else {
echo "你没有上传任何文件";
}
?>
//////////////////////////////////////////////////////////////////////
(4)show_info.php ---
//简要说明
从数据库里取出文件的基本信息[文件名和文件大小]。
//程序源码
if(!isset($id) or $id=="") die("error: id none");
//定位记录,读出
$conn=mysql_connect("127.0.0.1","***","***");
if(!$conn) die("error: mysql connect failed");
mysql_select_db("test",$conn);
$sql = "select file_name ,file_size from receive where id=$id";
$result = mysql_query($sql);
if(!$result) die(" error: mysql query");
//如果没有指定的记录,则报错
$num=mysql_num_rows($result);
if($num
//下面两句程序也可以这么写
//$row=mysql_fetch_object($result);
//$name=$row->name;
//$size=$row->size;
$name = mysql_result($result,0,"file_name");
$size = mysql_result($result,0,"file_size");
mysql_close($conn);
echo "
上传的文件的信息:";
echo "
The file's name - $name";
echo "
The file's size - $size";
echo "
附件";
?>
//////////////////////////////////////////////////////////////////////
(5)show_add.php ---
//简要说明
从数据库里取出文件内容
//程序源码
if(!isset($id) or $id=="") die("error: id none");
//定位记录,读出
$conn=mysql_connect("127.0.0.1","***","***");
if(!$conn) die("error : mysql connect failed");
mysql_select_db("test",$conn);
$sql = "select * from receive where id=$id";
$result = mysql_query($sql);
if(!$result) die("error: mysql query");
$num=mysql_num_rows($result);
if($num
$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");
header("Content-Disposition: attachment; filename=$name");
echo $data;
?>
本程序在 win2000 pro + apache 1.13.19 + php 4.0.5 + mysql 3.23.36 下通过。

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Pemotongan ialah alat penyuntingan video dengan fungsi penyuntingan yang komprehensif, sokongan untuk kelajuan berubah-ubah, pelbagai penapis dan kesan kecantikan serta sumber perpustakaan muzik yang kaya. Dalam perisian ini, anda boleh mengedit video secara terus atau membuat skrip penyuntingan, tetapi bagaimana untuk melakukannya? Dalam tutorial ini, editor akan memperkenalkan kaedah menyunting dan membuat skrip. Kaedah pengeluaran: 1. Klik untuk membuka perisian penyuntingan pada komputer anda, kemudian cari pilihan "Skrip Penciptaan" dan klik untuk membuka. 2. Dalam halaman skrip kreatif, masukkan "tajuk skrip", dan kemudian masukkan pengenalan ringkas kepada kandungan penggambaran dalam garis besar. 3. Bagaimanakah saya boleh melihat pilihan "Penerangan Papan Cerita" dalam garis besar?

Apabila memadam atau menyahmampat folder pada komputer anda, kadangkala kotak dialog segera "Ralat 0x80004005: Ralat Tidak Ditentukan" akan muncul Bagaimana anda harus menyelesaikan situasi ini? Sebenarnya terdapat banyak sebab mengapa kod ralat 0x80004005 digesa, tetapi kebanyakannya disebabkan oleh virus. Kami boleh mendaftarkan semula dll untuk menyelesaikan masalah tersebut . Sesetengah pengguna digesa dengan kod ralat 0X80004005 apabila menggunakan komputer mereka Ralat 0x80004005 disebabkan terutamanya oleh komputer tidak mendaftarkan fail perpustakaan pautan dinamik tertentu dengan betul, atau oleh tembok api yang tidak membenarkan sambungan HTTPS antara komputer dan Internet. Jadi bagaimana pula

Xiaohongshu mempunyai kandungan yang kaya yang semua orang boleh lihat secara bebas di sini, supaya anda boleh menggunakan perisian ini untuk menghilangkan kebosanan setiap hari dan membantu diri sendiri Dalam proses menggunakan perisian ini, anda kadang-kadang akan melihat pelbagai perkara yang indah. tetapi gambar yang disimpan mempunyai tera air, yang sangat berpengaruh Semua orang ingin tahu cara menyimpan gambar tanpa tanda air di sini saya akan memberikan anda kaedah untuk mereka yang memerlukannya. 1. Klik "..." di penjuru kanan sebelah atas gambar untuk menyalin pautan 2. Buka applet WeChat 3. Cari perpustakaan keledek dalam applet WeChat 4. Masukkan perpustakaan keledek dan sahkan untuk mendapatkan pautan 5. Dapatkan gambar dan simpan ke album telefon bimbit

Quark Netdisk dan Baidu Netdisk pada masa ini merupakan perisian Netdisk yang paling biasa digunakan untuk menyimpan fail Jika anda ingin menyimpan fail dalam Quark Netdisk ke Baidu Netdisk, bagaimana anda melakukannya? Dalam isu ini, editor telah menyusun langkah tutorial untuk memindahkan fail dari komputer Quark Network Disk ke Baidu Network Disk Mari kita lihat cara mengendalikannya. Bagaimana untuk menyimpan fail dari Cakera Rangkaian Quark ke Cakera Rangkaian Baidu? Untuk memindahkan fail daripada Cakera Rangkaian Quark ke Cakera Rangkaian Baidu, anda perlu memuat turun fail yang diperlukan terlebih dahulu daripada Cakera Rangkaian Quark, kemudian pilih folder sasaran dalam klien Cakera Rangkaian Baidu dan bukanya. Kemudian, seret dan lepaskan fail yang dimuat turun daripada Cakera Awan Quark ke dalam folder yang dibuka oleh klien Cakera Awan Baidu, atau gunakan fungsi muat naik untuk menambah fail pada Cakera Awan Baidu. Pastikan anda menyemak sama ada fail telah berjaya dipindahkan dalam Cakera Awan Baidu selepas muat naik selesai. Itu sahaja

Bagaimana untuk melaksanakan fail .sh dalam sistem Linux? Dalam sistem Linux, fail .sh ialah fail yang dipanggil skrip Shell, yang digunakan untuk melaksanakan satu siri arahan. Melaksanakan fail .sh ialah operasi yang sangat biasa Artikel ini akan memperkenalkan cara melaksanakan fail .sh dalam sistem Linux dan memberikan contoh kod khusus. Kaedah 1: Gunakan laluan mutlak untuk melaksanakan fail .sh Untuk melaksanakan fail .sh dalam sistem Linux, anda boleh menggunakan laluan mutlak untuk menentukan lokasi fail. Berikut ialah langkah khusus: Buka terminal

Baru-baru ini, ramai netizen bertanya kepada editor, apakah itu fail hiberfil.sys? Bolehkah hiberfil.sys mengambil banyak ruang pemacu C dan dipadamkan? Editor boleh memberitahu anda bahawa fail hiberfil.sys boleh dipadamkan. Mari kita lihat butiran di bawah. hiberfil.sys ialah fail tersembunyi dalam sistem Windows dan juga fail hibernasi sistem. Ia biasanya disimpan dalam direktori akar pemacu C, dan saiznya bersamaan dengan saiz memori yang dipasang sistem. Fail ini digunakan apabila komputer sedang hibernasi dan mengandungi data memori sistem semasa supaya ia boleh dipulihkan dengan cepat kepada keadaan sebelumnya semasa pemulihan. Oleh kerana saiznya adalah sama dengan kapasiti memori, ia mungkin mengambil jumlah ruang cakera keras yang lebih besar. hiber

Peranan geganti DHCP adalah untuk memajukan paket DHCP yang diterima ke pelayan DHCP lain pada rangkaian, walaupun kedua-dua pelayan berada pada subnet yang berbeza. Dengan menggunakan geganti DHCP, anda boleh menggunakan pelayan DHCP berpusat di pusat rangkaian dan menggunakannya untuk menetapkan alamat IP secara dinamik kepada semua subnet/VLAN rangkaian. Dnsmasq ialah pelayan protokol DNS dan DHCP yang biasa digunakan yang boleh dikonfigurasikan sebagai pelayan geganti DHCP untuk membantu mengurus konfigurasi hos dinamik dalam rangkaian. Dalam artikel ini, kami akan menunjukkan kepada anda cara mengkonfigurasi dnsmasq sebagai pelayan geganti DHCP. Topik Kandungan: Topologi Rangkaian Mengkonfigurasi Alamat IP Statik pada Geganti DHCP D pada Pelayan DHCP Berpusat

1. Buka apl Douyin, cari video yang anda ingin muat turun dan simpan, dan klik butang [Kongsi] di sudut kanan bawah. 2. Dalam tetingkap pop timbul yang muncul, luncurkan butang fungsi dalam baris kedua ke kanan, cari dan klik [Save Local]. 3. Tetingkap pop timbul baharu akan muncul pada masa ini, dan pengguna boleh melihat kemajuan muat turun video dan menunggu muat turun selesai. 4. Selepas muat turun selesai, akan ada gesaan [Disimpan, sila pergi ke album untuk melihat], supaya video yang baru dimuat turun akan berjaya disimpan ke album telefon mudah alih pengguna.
