2017-02-10 5 views
0

Я хочу загрузить файл .txt и нашел этот код в w3schools. Но этот код позволяет загружать и сохранять изображения только на локальном диске. Как изменить это в формате загрузки файла .txt? Спасибо за ответ. :)Загрузить текстовый файл в PHP

<!DOCTYPE html> 
 
<html> 
 
<body> 
 

 
<form action="upload.php" method="post" enctype="multipart/form-data"> 
 
    Select image to upload: 
 
    <input type="file" name="fileToUpload" id="fileToUpload"> 
 
    <input type="submit" value="Upload Image" name="submit"> 
 
</form> 
 

 
</body> 
 
</html>

Это PHP код:

<?php 
     $target_dir = "uploads/"; 
     $target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]); 
     $uploadOk = 1; 
     $imageFileType = pathinfo($target_file,PATHINFO_EXTENSION); 
     // Check if image file is a actual image or fake image 
     if(isset($_POST["submit"])) { 
      $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]); 
      if($check !== false) { 
       echo "File is an image - " . $check["mime"] . "."; 
       $uploadOk = 1; 
      } else { 
       echo "File is not an image."; 
       $uploadOk = 0; 
      } 
     } 
     // Check if file already exists 
     if (file_exists($target_file)) { 
      echo "Sorry, file already exists."; 
      $uploadOk = 0; 
     } 
     // Check file size 
     if ($_FILES["fileToUpload"]["size"] > 500000) { 
      echo "Sorry, your file is too large."; 
      $uploadOk = 0; 
     } 
     // Allow certain file formats 
     if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" 
     && $imageFileType != "gif") { 
      echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed."; 
      $uploadOk = 0; 
     } 
     // Check if $uploadOk is set to 0 by an error 
     if ($uploadOk == 0) { 
      echo "Sorry, your file was not uploaded."; 
     // if everything is ok, try to upload file 
     } else { 
      if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) { 
       echo "The file ". basename($_FILES["fileToUpload"]["name"]). " has been uploaded."; 
      } else { 
       echo "Sorry, there was an error uploading your file."; 
      } 
     } 
     ?> 
+1

если ($ imageFileType! = "JPG" && $ imageFileType! = "PNG" && $ imageFileType! = "JPEG" && $ imageFileType! = "GIF") Вы можете просто добавить текстовый расширение, как приведенный выше код – fizzi

+0

Почему бы не приложить какие-то усилия для поиска в Google. Если вы столкнетесь с какой-либо конкретной проблемой, тогда опубликуйте ее. – WeAreRight

ответ

1

Потому что вы только что позволяет JPG, PNG, JPEG изображения для загрузки. загружать только файлы txt плз использовать этот код

if($imageFileType != "txt") { 
      echo "Sorry, only txt files are allowed."; 
      $uploadOk = 0; 
     } 
+0

Но я хотел бы ограничить его только форматом .txt. Не все форматы файлов. –

+0

то, я сделал это для вас в коде – shyamm

+0

просто проверьте! – shyamm

0

В коде

if(isset($_POST["submit"])) { 
     $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]); 
     if($check !== false) { 
      echo "File is an image - " . $check["mime"] . "."; 
      $uploadOk = 1; 
     } else { 
      echo "File is not an image."; 
      $uploadOk = 0; 
     } 
    } 

Вы проверяете тип файла, если это изображение или нет функции getimagesize(). Если это не изображение, которое вы делаете $ uploadOk = 0;. Таким образом, ваш текстовый файл всегда будет давать $ uploadOk = 0;. В связи с этим accortding к последней части кода:

// Check if $uploadOk is set to 0 by an error 
    if ($uploadOk == 0) { 
     echo "Sorry, your file was not uploaded."; 
    // if everything is ok, try to upload file 
    } else { 
     if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) { 
      echo "The file ". basename($_FILES["fileToUpload"]["name"]). " has been uploaded."; 
     } else { 
      echo "Sorry, there was an error uploading your file."; 
     } 
    } 

Вы никогда не будете в состоянии загрузить текстовый файл. Так как вы изменить свой код в getimagesize() или просто поменять местами значения $ uploadOk в первой части кода, чтобы выглядеть следующим образом:

// Check if image file is a actual image or fake image 
    if(isset($_POST["submit"])) { 
     $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]); 
     if($check !== false) { 
      echo "File is an image - " . $check["mime"] . "."; 
      $uploadOk = 0; 
     } else { 
      echo "File is not an image."; 
      $uploadOk = 1; 
     } 
    } 
0

Ваш файл будет так так, чтобы быть можно загрузить файлы txt, проверить тип файла «txt».

<?php 
    $target_dir = "**the path u like**"; 
    $target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]); 
    $uploadOk = 1; 
    $imageFileType = pathinfo($target_file,PATHINFO_EXTENSION); 
    } 
    // Check if file already exists 
    if (file_exists($target_file)) { 
     echo "Sorry, file already exists."; 
     $uploadOk = 0; 
    } 
    // Check file size 
    if ($_FILES["fileToUpload"]["size"] > 500000) { 
     echo "Sorry, your file is too large."; 
     $uploadOk = 0; 
    } 
    // Allow certain file formats 
    if($imageFileType != "txt") { 
     echo "Sorry, only txt files are allowed."; 
     $uploadOk = 0; 
    } 
    // Check if $uploadOk is set to 0 by an error 
    if ($uploadOk == 0) { 
     echo "Sorry, your file was not uploaded."; 
    // if everything is ok, try to upload file 
    } else { 
     if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) { 
      echo "The file ". basename($_FILES["fileToUpload"]["name"]). " has been uploaded."; 
     } else { 
      echo "Sorry, there was an error uploading your file."; 
     } 
    } 
    ?> 

 Смежные вопросы

  • Нет связанных вопросов^_^