php如何上傳txt檔案,並且讀取txt檔案

cw571166038發表於2020-12-12

1.建立目錄如下

upload資料夾是用來暫時存放上傳的檔案,方便讀取和寫等操作,upload.html是前端上傳檔案頁面,upload.php是處理頁面

upload.html

<html>
 <form action="upload.php" method="POST" enctype="multipart/form-data">
            <label>選擇檔案</label>
            <input type="file" id="file" name="file" />
            <button type="submit" class="btn btn-primary">提交</button>
    </form>
</html>

 

upload.php

<?php
if ($_FILES["file"]["error"] > 0)
  {
  echo "Error: " . $_FILES["file"]["error"] . "<br />";
  }
else
  {
 $fileName = $_FILES["file"]["name"];
 $type = $_FILES["file"]["type"];
 $size = ($_FILES["file"]["size"] / 1024)." kb" ;
 $tmp_name =  $_FILES["file"]["tmp_name"] ;
  echo "Upload: " .$fileName . "<br />";
  echo "Type: " . $tyep . "<br />";
  echo "Size: " . $size. " Kb<br />";
  echo "Stored in: " . $tmp_name."<br />";
  move_uploaded_file($tmp_name,"upload/" .$fileName);
  echo "success";
  }
?>

結果如下:

上傳檔案

2.下面對上傳的檔案進行讀操作

1)逐行讀

function readData($name){
        if($name=='')return '';
        $file = fopen(upload.'/'.$name, "r");
        $data=array();
        $i=0;
//輸出文字中所有的行,直到檔案結束為止。
        while(! feof($file))
        {
            $data[$i]= fgets($file);//fgets()函式從檔案指標中讀取一行
            $i++;
        }
        fclose($file);
        $data=array_filter($data);
        return $data;
    }
 $name = 'load.txt';
 $data = readData($name);
 print_r($data);

2)一次性讀完,返回到一個string,這個string的分隔符是\r\n

$alldata = file_get_contents('upload'.'/'.$name);
 $onedata = explode("\r\n",$alldata);
 print_r($alldata);
 echo "<br/>";
 print_r($onedata);

3.刪除一個資料夾下面的所有檔案

  public static function delFile($dirName){
        if(file_exists($dirName) && $handle=opendir($dirName)){
            while(false!==($item = readdir($handle))){
                if($item!= "." && $item != ".."){
                    if(file_exists($dirName.'/'.$item) && is_dir($dirName.'/'.$item)){
                        delFile($dirName.'/'.$item);
                    }else{
                        if(unlink($dirName.'/'.$item)){
                            return true;
                        }
                    }
                }
            }
            closedir( $handle);
        }
    }

4.刪除指定檔案

<?php
$file = "upload/load.txt";
if (!unlink($file))
  {
  echo ("Error deleting $file");
  }
else
  {
  echo ("Deleted $file");
  }
?>

相關文章