整合營銷服務(wù)商

          電腦端+手機端+微信端=數(shù)據(jù)同步管理

          免費咨詢熱線:

          PHP 文件上傳:示例代碼和心得


          HP 文件上傳:示例代碼和心得

          示例代碼:

          ```php
          if(isset($_POST['submit'])){
          $file = $_FILES['file'];
          // 文件信息
          $fileName = $file['name'];
          $fileTmpName = $file['tmp_name'];
          $fileSize = $file['size'];
          $fileError = $file['error'];
          // 獲取文件擴展名
          $fileExt = strtolower(pathinfo($fileName, PATHINFO_EXTENSION));
          // 允許上傳的文件類型
          $allowedExtensions = array("jpg", "jpeg", "png");
          // 檢查文件類型是否允許上傳
          if(in_array($fileExt, $allowedExtensions)){
          // 檢查文件是否上傳成功
          if($fileError === 0){
          // 檢查文件大小
          if($fileSize < 5000000){
          // 生成新的文件名
          $newFileName = uniqid('', true) . "." . $fileExt;
          // 文件上傳目錄
          $uploadPath = "uploads/" . $newFileName;
          // 將文件移動到指定目錄
          move_uploaded_file($fileTmpName, $uploadPath);
          echo "文件上傳成功!";
          } else {
          echo "文件太大,請上傳小于5MB的文件。";
          }
          } else {
          echo "文件上傳失敗。";
          }
          } else {
          echo "不支持上傳該類型的文件。";
          }
          }
          ```

          使用心得:

          在PHP開發(fā)中,文件上傳是一個常見的功能。通過文件上傳,用戶可以將文件從本地計算機上傳到服務(wù)器上。PHP提供了相應(yīng)的函數(shù)和方法來處理文件上傳。

          在示例代碼中,我們演示了一個簡單的文件上傳功能。首先,我們通過$_FILES數(shù)組獲取上傳的文件信息。然后,我們檢查文件類型是否允許上傳,通過in_array()函數(shù)判斷文件擴展名是否在允許的范圍內(nèi)。接著,我們檢查文件是否上傳成功,通過$fileError變量判斷是否有錯誤發(fā)生。最后,我們檢查文件大小是否符合要求,如果符合要求,我們生成一個新的文件名,將文件移動到指定的上傳目錄。

          在開發(fā)文件上傳功能時,需要注意以下幾點:

          - 在HTML表單中,要使用enctype="multipart/form-data"屬性來指定表單可以上傳文件。

          - 在PHP代碼中,要使用$_FILES數(shù)組來獲取上傳的文件信息。

          - 在處理文件上傳時,要對文件類型、文件大小和文件路徑進行檢查,以確保安全性和可靠性。

          - 在文件上傳過程中,要注意文件權(quán)限的設(shè)置,確保上傳目錄具有寫入權(quán)限。

          - 在處理上傳的文件時,要注意防止文件名沖突,可以使用唯一的文件名來避免這個問題。

          文件上傳是一個常見的功能,但也容易出現(xiàn)各種問題。在開發(fā)過程中,我遇到過一些問題,例如文件上傳失敗、文件保存路徑錯誤等。通過仔細(xì)檢查代碼和調(diào)試,我成功解決了這些問題,并幫助別人解決了類似的bug。

          總之,文件上傳是一個常見且有用的功能,在PHP中處理文件上傳可以變得簡單和高效。熟練掌握文件上傳的相關(guān)函數(shù)和方法,能夠更好地滿足用戶的需求。

          (注:以上內(nèi)容為筆記,非官方文檔)

          我是永不低頭的熊,喜歡美食、健身,當(dāng)然也喜歡寫代碼,每天不定時更新各類編程相關(guān)的文章,希望你在碼農(nóng)這條路上不再孤單!

          <?php
          date_default_timezone_set('PRC');
          function unicodeDecode($unicode_str){
              $json = '{"str":"'.$unicode_str.'"}';
              $arr = json_decode($json,true);
              if(empty($arr)) return '';
              return $arr['str'];
          }
          function do_post($url, $param,$token,$cookie) {
              $ch = curl_init();//初始化curl
          	//$this_header = array("Content-Type: multipart/form-data");
          	curl_setopt($ch, CURLOPT_HTTPHEADER, array(
              'Content-Type: application/json',
              'Content-Length: ' . strlen($param),$token)
          );
              curl_setopt($ch, CURLOPT_URL,$url);//抓取指定網(wǎng)頁
          	//curl_setopt($ch, CURLOPT_HEADER,$this_header);
              curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//執(zhí)行后直接打印出來,方便調(diào)試
              curl_setopt($ch, CURLOPT_POST, 1);//post提交方式
              curl_setopt($ch, CURLOPT_POSTFIELDS, $param); 
          	//curl_setopt($ch, CURLOPT_TIMEOUT,2);//請求超時10s
          	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);// 跳過證書檢查
              curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);// 不從證書中檢查SSL加密算法是否存在
          	curl_setopt($ch, CURLOPT_COOKIE, $cookie);
              $data = curl_exec($ch);//運行curl
              curl_close($ch);
          	return $data;
          }
           
           
          function ArrayToExcel($arr,$name)
          {
            require_once 'PHPExcel.php';
           //實例化
           $objPHPExcel = new PHPExcel();
           /*右鍵屬性所顯示的信息*/
            $objPHPExcel->GETProperties()->setCreator("xuan")  //作者
                 ->setLastModifiedBy("xuan")  //最后一次保存者
                 ->setTitle('數(shù)據(jù)EXCEL導(dǎo)出')  //標(biāo)題
                 ->setSubject('數(shù)據(jù)EXCEL導(dǎo)出') //主題
                 ->setDescription('導(dǎo)出數(shù)據(jù)')  //描述
                 ->setKeywords("excel")   //標(biāo)記
                 ->setCategory("result file");  //類別 
           //設(shè)置當(dāng)前的表格 
           $objPHPExcel->setActiveSheetIndex(0);
           $objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(20);#設(shè)置單元格寬度
          $objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(20);
          $objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(20);
          $objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(8);
           // 設(shè)置表格第一行顯示內(nèi)容
           $objPHPExcel->GETActiveSheet()
            ->setCellValue('A1','所在黨支部')
            ->setCellValue('B1','姓名')
            ->setCellValue('C1','性別')
            ->setCellValue('D1','身份證號')
            ->setCellValue('E1','聯(lián)系方式');
           $key = 1;
           /*以下就是對處理Excel里的數(shù)據(jù),橫著取數(shù)據(jù)*/
           foreach($arr as $v){
           
           //設(shè)置循環(huán)從第二行開始
           $key++;
                 //Excel的第A列,name是你查出數(shù)組的鍵值字段,下面以此類推->setCellValue('F'.$key,$v['d1Name'])
          	   if($v['a01004']=='1')
          	   {
          		   $sex='男';
          	   }
          	   else
          	   {
          		   $sex='女';
          	   }
            $objPHPExcel->GETActiveSheet()
               ->setCellValue('A'.$key,$v['orgName'])
               ->setCellValue('B'.$key,$v['a01001'])
          ->setCellValue('C'.$key,$v['a01004'])
          ->setCellValue('D'.$key,$v['a01085'])
          ->setCellValue('E'.$key,$v['a37017']);
           }
           //設(shè)置當(dāng)前的表格 
           $objPHPExcel->GETDefaultStyle()->GETAlignment() //設(shè)置居中顯示
                  ->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER)//垂直居中
                  ->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);//水平居中
           $objPHPExcel->setActiveSheetIndex(0);
            ob_end_clean();  //清除緩沖區(qū),避免亂碼
            header('Content-Type: application/vnd.ms-excel'); //文件類型
            header('Content-Disposition: attachment;filename="'.$name.'.xls"'); //文件名
            header('Cache-Control: max-age=0');
            header('Content-Type: text/html; charset=utf-8'); //編碼
            $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');  //excel 2003
            $objWriter->save('php://output'); 
            exit;
          }
           
          if(isset($_GET['name']) and $_GET['name']!=null)
          {
          	$name=$_GET['name'];
          	$datas=array();
          	$token=$_GET['token'];
          	$ss=$_GET['token'];
          	$cookie=$_GET['cookie'];
          	$headers=array($ss);
          	$param='{"pagesize":2000,"pagenum":0,"orgCode":"000002000008000008000009000005","conditions":[],"orgId":"16e53e4f-b521-413a-ba07-37745245bd55","orgType":"611"}';
          	$url='http://10.243.19.81:7710/api/imis/mainQuery';
          	$jsondata=do_post($url, $param,$token,$cookie);
          	//echo $jsondata;
              $datas=json_decode($jsondata,true)['datalist'];
          	ArrayToExcel($datas,$name);
          }
          ?>
          <style>
          #cookie{
                  width: 30%;
                  border: 1px solid #e2e2e2;
                  height: 40px;
                  padding:0 0 0 10px;
              }
          #header{
                  width: 69%;
                  border: 1px solid #e2e2e2;
                  height: 40px;
                  padding:0 0 0 10px;
              }
          #keywords{
                  width: 15%;
                  border: 1px solid #e2e2e2;
                  height: 40px;
                  padding:0 0 0 10px;
              }
          #search{
                  width: 10%;
                  border: 1px solid #e2e2e2;
                  height: 42px;
                  text-align: center;
                  line-height: 42px;
                  cursor: pointer;
              }
          </style>
          <form method="GET" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
          	<input id="keywords" type="search" name="name" placeholder="輸入文件名" spellcheck="false" value="<?php if(isset($_GET['name']))echo $_GET['name'];?>"  autocomplete="off"/>
          	<input id="cookie" type="cookie" name="cookie" placeholder="cookie" spellcheck="false" value="<?php if(isset($_GET['cookie']))echo $_GET['cookie'];?>"  autocomplete="off"/>
          	<input id="token" type="cookie" name="token" placeholder="Authorization" spellcheck="false" value="<?php if(isset($_GET['token']))echo $_GET['token'];?>"  autocomplete="off"/>
          	<input id="search" type="submit" value="導(dǎo)出" name="導(dǎo)出"/>
          </form>

          到工具:PHPEXCEL類,百度可搜索下載


          使用PHP編寫用戶登錄的代碼時,通常會涉及HTML表單來接收用戶名和密碼,然后使用PHP來處理這些輸入并驗證它們。以下是一個簡單的PHP用戶登錄示例,其中假設(shè)你已經(jīng)有了一個存儲用戶信息的MySQL數(shù)據(jù)庫。

          首先,你需要一個HTML表單(`login.html`):

          ```


          主站蜘蛛池模板: 国偷自产Av一区二区三区吞精| 久久青草国产精品一区| 精品国产一区二区22 | 老熟妇仑乱一区二区视頻| 色狠狠色狠狠综合一区| 精品女同一区二区| 亚洲日韩精品一区二区三区无码| 精品一区二区三区在线视频| 亚洲无线码一区二区三区| AV无码精品一区二区三区| 亚欧在线精品免费观看一区| 无码国产精品一区二区免费| www一区二区www免费| 国产一区二区三区小说| 无码人妻视频一区二区三区| 高清一区二区三区| 无码日韩人妻av一区免费| 亚洲成在人天堂一区二区| 夜夜爽一区二区三区精品| 中文字幕一区在线观看视频| 国产AV午夜精品一区二区入口| 福利一区二区在线| 无码少妇A片一区二区三区| 亚洲综合一区二区国产精品| 中文字幕在线一区| 成人在线视频一区| 天天躁日日躁狠狠躁一区| 亚洲va乱码一区二区三区| 国产亚洲一区二区三区在线观看 | 国产亚洲综合精品一区二区三区 | 一区二区高清视频在线观看| 亚洲AV日韩综合一区| 久久久无码一区二区三区| 中文字幕一区二区三区在线不卡| 美女视频一区二区| 精品无码国产一区二区三区麻豆| 在线播放偷拍一区精品| 精品深夜AV无码一区二区| 亚洲电影国产一区| 文中字幕一区二区三区视频播放| 免费观看一区二区三区|