国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于PHP+MySQL的視頻上傳與刪除功能實(shí)現(xiàn)

2023-06-22 23:59:17陳趙云
現(xiàn)代信息科技 2023年5期

摘? 要:PHP是主流且開(kāi)源免費(fèi)的Web開(kāi)發(fā)語(yǔ)言,文章基于PHP語(yǔ)言和MySQL數(shù)據(jù)庫(kù)、以Zend Studio為平臺(tái)制作了一個(gè)簡(jiǎn)單的視頻網(wǎng)站,主要實(shí)現(xiàn)了視頻上傳和刪除功能,文章對(duì)制作過(guò)程和實(shí)現(xiàn)源代碼做了詳細(xì)且完整的記錄,上傳的視頻數(shù)據(jù)會(huì)保存在MySQL數(shù)據(jù)庫(kù)中,視頻資源也會(huì)保存到服務(wù)器指定目錄下,刪除視頻/視頻下架時(shí)為了釋放服務(wù)器存儲(chǔ)空間,實(shí)現(xiàn)了在數(shù)據(jù)庫(kù)和服務(wù)器目錄下的同時(shí)刪除。

關(guān)鍵詞:PHP;MySQL;視頻上傳;視頻刪除

中圖分類號(hào):TP311? 文獻(xiàn)標(biāo)識(shí)碼:A? 文章編號(hào):2096-4706(2023)05-0021-04

Implementation of Video Uploading and Deleting Function Based on PHP+MySQL

CHEN Zhaoyun

(School of Electronics and Information Engineering, Heyuan Polytechnic, Heyuan? 517000, China)

Abstract: PHP is a mainstream, open source and free Web development language. Based on PHP language and MySQL database, this paper uses Zend Studio as the platform to make a simple video website, which mainly realizes the functions of uploading and deleting videos. This paper makes a detailed and complete record of the production process and implementation source code. The uploaded video data is stored in the MySQL database, and the video resources are also stored in the specified directory of the server. In order to release the storage space of the server when deleting video, it is implemented to delete it in the database and the server directory at the same time.

Keywords: PHP; MySQL; video uploading; video deleting

0? 引? 言

視頻資源是互聯(lián)網(wǎng)信息傳播最主要的媒介,PHP是主流的Web站點(diǎn)開(kāi)發(fā)語(yǔ)言,MySQL是使用人數(shù)最多的輕量級(jí)免費(fèi)數(shù)據(jù)庫(kù),本文通過(guò)介紹一個(gè)簡(jiǎn)單PHP+MySQL視頻網(wǎng)站的制作,詳細(xì)介紹了視頻上傳和刪除功能的實(shí)現(xiàn),旨在為相關(guān)技術(shù)人員提供參考。

1? 功能概述

在視頻網(wǎng)站的開(kāi)發(fā)與管理過(guò)程中,將視頻文件上傳至指定目錄并寫入數(shù)據(jù)庫(kù)、刪除數(shù)據(jù)庫(kù)中的視頻數(shù)據(jù)同時(shí)刪除對(duì)應(yīng)目錄下的視頻資源是兩個(gè)重要的功能,本文從數(shù)據(jù)庫(kù)創(chuàng)建開(kāi)始,通過(guò)實(shí)際案例詳細(xì)介紹這兩個(gè)功能的實(shí)現(xiàn)過(guò)程和完整代碼,主要有以下三部分內(nèi)容:

(1)創(chuàng)建數(shù)據(jù)庫(kù)。

(2)視頻上傳功能實(shí)現(xiàn)。

(3)視頻刪除功能實(shí)現(xiàn)。

2? 案例實(shí)現(xiàn)

2.1? 創(chuàng)建存放視頻信息的數(shù)據(jù)庫(kù)和數(shù)據(jù)表

利用MySQL命令窗口或其他可視化工具設(shè)計(jì)存放視頻信息的數(shù)據(jù)庫(kù)Video Project和數(shù)據(jù)表Video Info,表的字段根據(jù)需要設(shè)計(jì),本文以實(shí)現(xiàn)最基本的功能為依據(jù)設(shè)計(jì)video Info表,如表1所示。

2.2? 新建名為Video Article的PHP項(xiàng)目

在項(xiàng)目根目錄下新建名為addVideo.php、manageVideo.php和VideoDelete.php的三個(gè)文件和名為upload的文件夾,站點(diǎn)目錄如圖1所示。

2.2.1? addVideo.php頁(yè)完整代碼及重點(diǎn)解釋

addVideo.php用于實(shí)現(xiàn)視頻的上傳功能,視頻會(huì)保存在指定的upload文件夾下,視頻地址等相關(guān)信息會(huì)保存在數(shù)據(jù)庫(kù)Video Info表中,運(yùn)行效果如圖2所示。

addVideo.php頁(yè)完整代碼如下:

<?php

header("Content-type: text/html; charset=utf-8");

$link=@mysqli_connect('localhost','root','root','videoproject',3306);//數(shù)據(jù)庫(kù)連接字符串

if(mysqli_connect_errno()){//數(shù)據(jù)庫(kù)連接錯(cuò)誤數(shù)字代碼,0表示沒(méi)有錯(cuò)誤

exit(mysqli_connect_error());//輸出錯(cuò)誤代碼對(duì)應(yīng)的錯(cuò)誤描述信息并退出

}

mysqli_set_charset($link, 'utf8');

if(isset($_POST['addVideoBtn'])){

if(empty($_POST['vTitName'])|| empty($_POST['videoInfo'])){

echo "";

}else{

if(is_uploaded_file($_FILES['videoUp']['tmp_name'])){

//?通過(guò)上傳的臨時(shí)文件判斷是否有文件上傳$

$arr=pathinfo($_FILES['videoUp']['name']);

//獲取上傳文件的名稱、類型等信息存放到數(shù)組中

$vAddr=iconv('UTF-8','GB2312',"upload/{$_POST['vTitName']}.{$arr['extension']}");//$vAddr是視頻的存放路徑,windos中文系統(tǒng)要求傳入的參數(shù)如果有中文必須是GBK編碼,故必須用iconv()轉(zhuǎn)換字符集

if(move_uploaded_file($_FILES['videoUp']['tmp_name'], "{$vAddr}")){//移動(dòng)臨時(shí)文件到指定位置

$vAddr="upload/{$_POST['vTitName']}.{$arr['extension']}";//寫入數(shù)據(jù)庫(kù)時(shí)要用utf-8,否則中文字符寫不進(jìn)去

$query="insert into videoinfo(videoName,videoIntro,uptime,videoAddress,playCounts) ".

"values('{$_POST['vTitName']}','{$_POST['videoInfo']}','{$_POST['addVTime']}','{$vAddr}',{$_POST['playNums']})";

if(mysqli_query($link, $query)){

echo "";

}else{

echo "";

}? ? ? ?}? ?}? ? } }

?>

<!DOCTYPE HTML>

視頻上傳

上傳視頻

視頻標(biāo)題:

"vTitName">

視頻簡(jiǎn)介:
視頻地址:

"videoUp">

上傳時(shí)間:
播放次數(shù):

"playNums" class="vName">

2.2.2? manageVideo.php頁(yè)完整代碼及重點(diǎn)解釋

manageVideo.php用于將所有視頻信息從數(shù)據(jù)庫(kù)中查詢并展示出來(lái),單擊某條視頻信息的刪除按鈕則會(huì)跳轉(zhuǎn)到videoDelete.php頁(yè)面執(zhí)行刪除操作,運(yùn)行效果如圖3所示。

manageVideo.php頁(yè)完整代碼如下:

<?php

$link=@mysqli_connect('localhost','root','root','videoproject',3306);

if(mysqli_connect_errno()){

exit(mysqli_connect_error());

}

mysqli_set_charset($link, 'utf8');

?>

<!DOCTYPE HTML>

視頻管理

管理視頻

視頻名稱視頻簡(jiǎn)介播放次數(shù)上傳時(shí)間操作

<?php

$query="select * from videoinfo";

$result=mysqli_query($link, $query);

while($data=mysqli_fetch_assoc($result)){ ? ??>

<?php echo $data['videoName']?>

<?php echo $data['videoIntro']?>

<?php echo $data['playCounts']?>

<?php echo $data['upTime']?>

刪除

<?php } ?>

2.2.3? videoDelete.php頁(yè)完整代碼及重點(diǎn)解釋

videoDelete.php用于刪除數(shù)據(jù)庫(kù)中指定的視頻信息并同時(shí)刪除服務(wù)器上的視頻資源,以節(jié)約存儲(chǔ)空間,成功刪除之后會(huì)有彈框提示,效果如圖4所示。

videoDelete.php頁(yè)完整代碼如下:

<?php

header("Content-type: text/html; charset=utf-8");

$link=@mysqli_connect('localhost','root','root','videoproject',3306);//數(shù)據(jù)庫(kù)連接字符串

if(mysqli_connect_errno()){//數(shù)據(jù)庫(kù)連接錯(cuò)誤數(shù)字代碼,0表示沒(méi)有錯(cuò)誤

exit(mysqli_connect_error());//輸出錯(cuò)誤代碼對(duì)應(yīng)的錯(cuò)誤描述信息并退出

}

mysqli_set_charset($link, 'utf8');

if(!isset($_GET['vid'])|| !is_numeric($_GET['vid'])){

echo "";

}

$query="select * from videoInfo where videoID={$_GET['vid']}";

$result=mysqli_query($link, $query);

$data=mysqli_fetch_assoc($result);

$vAddr=iconv('UTF-8','GB2312',"{$data['videoAddress']}");

//獲取視頻保存目錄,并轉(zhuǎn)換成GBK格式,否則無(wú)法刪除指定目錄下的視頻文件

if(mysqli_num_rows($result)){

unlink($vAddr);//執(zhí)行刪除指定視頻文件的操作

$str="delete from videoinfo where videoID={$_GET['vid']}";

if(mysqli_query($link, $str)){

echo "";

}else{

echo "";

}

}

?>

3? 程序說(shuō)明

程序說(shuō)明如下:

(1)要將視頻上傳至指定目錄時(shí),如果文件名中包含中文字符則必須要用iconv()轉(zhuǎn)換字符集(如果視頻名稱以日期+隨機(jī)數(shù)命名則不需要),move_uploaded_file()函數(shù)是保存視頻的關(guān)鍵代碼。

(2)同理,如果視頻文件名中包含中文字符,刪除視頻時(shí)要先將視頻地址從數(shù)據(jù)庫(kù)中查詢出來(lái)進(jìn)行編碼格式的轉(zhuǎn)換,再用unlink()刪除指定的視頻文件。

(3)項(xiàng)目以實(shí)現(xiàn)最簡(jiǎn)單的視頻上傳和刪除功能為目的,沒(méi)有設(shè)計(jì)視頻類別表、視頻所屬用戶信息表等,各項(xiàng)功能都進(jìn)行了簡(jiǎn)化。

4? 結(jié)? 論

基于PHP的視頻點(diǎn)播網(wǎng)站能夠?qū)崿F(xiàn)強(qiáng)大的功能、良好的用戶體驗(yàn),由于篇幅限制,本文只介紹了視頻的上傳和刪除功能,實(shí)現(xiàn)了中英文路徑無(wú)差別存取,用戶權(quán)限管理、視頻類別管理和視頻資源修改等功能暫未涉及。

參考文獻(xiàn):

[1] 徐俊強(qiáng),史香雯.PHP+MySQL動(dòng)態(tài)網(wǎng)站設(shè)計(jì)實(shí)用教程 [M].北京:清華大學(xué)出版社,2015.

[2] 黑馬程序員.PHP網(wǎng)站開(kāi)發(fā)實(shí)例教程 [M].北京:人民郵電出版社,2020.

[3] 莫小梅,毛衛(wèi)英.網(wǎng)頁(yè)設(shè)計(jì)與Web前端開(kāi)發(fā)案例教程 [M].北京:清華大學(xué)出版社,2019.

[4] 黑馬程序員.PHP+MySQL動(dòng)態(tài)網(wǎng)站開(kāi)發(fā) [M].北京:人民郵電出版社,2021.

[5] 杜海穎.PHP程序設(shè)計(jì)項(xiàng)目化教程 [M].北京:水利水電出版社,2021.

作者簡(jiǎn)介:陳趙云(1982.05—),男,漢族,江西豐城人,講師,碩士研究生,研究方向:物聯(lián)網(wǎng)技術(shù)應(yīng)用、Web系統(tǒng)開(kāi)發(fā)。

收稿日期:2022-10-13

高安市| 贵定县| 库车县| 安泽县| 青冈县| 高安市| 钟山县| 枞阳县| 孟村| 大渡口区| 荣昌县| 普陀区| 钟山县| 四平市| 鹤峰县| 夏河县| 玛沁县| 乐亭县| 句容市| 隆安县| 噶尔县| 洪雅县| 顺昌县| 城步| 中卫市| 佛教| 深水埗区| 岑巩县| 郓城县| 延庆县| 大冶市| 玉环县| 南康市| 宁武县| 丰台区| 渑池县| 伊宁市| 响水县| 利津县| 屯昌县| 茌平县|