Я пытаюсь установить скрипт 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');
}
}
?>
Я попробовал решения из этих двух вопросов: