PHP - при загрузке PDF-файла, вместо этого загрузите скрипт загрузки - PullRequest
0 голосов
/ 11 марта 2019

Я пытаюсь установить скрипт PHP, который будет загружать файл PDF.Если параметр для файла PDF указан правильно, файл PDF загружается так, как должен, но если параметр является чем-то другим или не предоставлен, загружаемый сценарий выполняет сценарий.

Вот мой код:

<?php

  header("Content-Type: application/octet-stream");
  header("Access-Control-Allow-Origin: *");

    $json = "";
    $file = "";
    $validation = true;

    if(!isset($_POST["file"])){
      $file = "";
      $validation = false;
      exit;
    }else{
      if(strcmp($_POST["file"], "tac") === 0){
        $file = $_POST["file"] .".pdf";
        $validation = true;
      }else{
        $validation = false;
        exit;
      }
    }

    if($validation){
      $result = openTAC($file);
    }else{
      $result = array("STATUS" => 'VF');
      echo json_encode($result);
    }

    function openTAC($file){

      if (file_exists($file)) {
        header('Content-Description: File Transfer');
        header('Content-Type: application/octet-stream');
        header("Content-Type: application/force-download");
        header('Content-type: application/pdf');
        header('Content-Disposition: attachment; filename=' . urlencode(basename($file)));
        header('Expires: 0');
        header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
        header('Pragma: public');
        header('Content-Length: ' . filesize($file));
        ob_clean();
        flush();
        readfile($file);
        return array("STATUS" => 'OK');
      }else{
        header('Content-Type: text/json');
        return array("STATUS" => 'ERROR');
      }
    }

?>

Я попробовал решения из этих двух вопросов:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...