• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

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

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

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

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

      中圖分類號:TP311? 文獻標(biāo)識碼:A? 文章編號: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站點開發(fā)語言,MySQL是使用人數(shù)最多的輕量級免費數(shù)據(jù)庫,本文通過介紹一個簡單PHP+MySQL視頻網(wǎng)站的制作,詳細介紹了視頻上傳和刪除功能的實現(xiàn),旨在為相關(guān)技術(shù)人員提供參考。

      1? 功能概述

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

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

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

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

      2? 案例實現(xiàn)

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

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

      2.2? 新建名為Video Article的PHP項目

      在項目根目錄下新建名為addVideo.php、manageVideo.php和VideoDelete.php的三個文件和名為upload的文件夾,站點目錄如圖1所示。

      2.2.1? addVideo.php頁完整代碼及重點解釋

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

      addVideo.php頁完整代碼如下:

      <?php

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

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

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

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

      }

      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'])){

      //?通過上傳的臨時文件判斷是否有文件上傳$

      $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}")){//移動臨時文件到指定位置

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

      $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">

      視頻簡介:
      視頻地址:

      "videoUp">

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

      "playNums" class="vName">

      2.2.2? manageVideo.php頁完整代碼及重點解釋

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

      manageVideo.php頁完整代碼如下:

      <?php

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

      if(mysqli_connect_errno()){

      exit(mysqli_connect_error());

      }

      mysqli_set_charset($link, 'utf8');

      ?>

      <!DOCTYPE HTML>

      視頻管理

      管理視頻

      視頻名稱視頻簡介播放次數(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頁完整代碼及重點解釋

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

      videoDelete.php頁完整代碼如下:

      <?php

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

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

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

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

      }

      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格式,否則無法刪除指定目錄下的視頻文件

      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? 程序說明

      程序說明如下:

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

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

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

      4? 結(jié)? 論

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

      參考文獻:

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

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

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

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

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

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

      收稿日期:2022-10-13

      攀枝花市| 正阳县| 大荔县| 凌海市| 于田县| 长泰县| 阳信县| 闻喜县| 博爱县| 陵川县| 岱山县| 岐山县| 吐鲁番市| 延庆县| 承德市| 太仆寺旗| 九台市| 常山县| 股票| 南郑县| 尉犁县| 乌拉特中旗| 胶南市| 香河县| 辽阳县| 清镇市| 绩溪县| 南昌县| 顺义区| 沙田区| 永昌县| 晋江市| 柳州市| 荔浦县| 仪陇县| 安阳县| 云阳县| 宁津县| 普宁市| 水富县| 理塘县|