Как загрузить файл динамически, т. Е. Файл с расширением .pec был загружен на сервер, теперь я должен загрузить тот же файл без указания имени этого файла с расширением .pec.
В строке 4 я дал имя файла wasifresume.pdf, который я загрузил на сервер и получил шифрование с расширением wasifresume.pec, и теперь мне нужно динамически загрузить этот файл, строка 4
$file = "wasifresume.pec";
без указания имени файла wasifresume
Есть ли какой-нибудь код для этого, например * .pec или что-то для загрузки того же файла, потому что я хочу сделать это динамически.
<<?php
session_start();
ob_start();
$file = "wasifresume.pec";
echo $_SESSION["file_name"]."the name";
ob_start();
// put some business here
if(file_exists($file))
{
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
readfile($file);
exit;
}
else
echo "file not found";
?>
см. upload.php
<?php
session_start();
$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"])) {
$uploadOk = 1;
}
// Check if file already exists
if (file_exists($target_file)) {
echo "Sorry, file already exists.";
$uploadOk = 0;
}
// Check file size
if ($_FILES["fileToUpload"]["size"] > 50000000) {
echo "Sorry, your file is too large.";
$uploadOk = 0;
}
if ($uploadOk == 0) {
echo "Sorry, your file was not uploaded.";
// if everything is ok, try to upload file
} else {
echo $_FILES["fileToUpload"]["tmp_name"];
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded.";
// echo $_FILES["fileToUpload"]["name"];
$_SESSION["file_name"]=$_FILES["fileToUpload"]["name"];
// echo $ _SESSION [«file_name»];
exec('/var/www/html/CryptCmdline http://*.*.*.*/uploads/'. $_FILES["fileToUpload"]["name"],$output);
// $output=shell_exec("dr.bs");
// print_r($output);
include('/var/www/html/down.php');
} else {
echo "Sorry, there was an error uploading your file.";
}
}
?>
В вашем файле .htacces
AddType application/octet-stream .pec
Это сделает это автоматически загруженным
или же:
<FilesMatch ".pec">
ForceType application/octet-stream
Header set Content-Disposition attachment
Header set Content-Description "File Transfer"Header set Content-Transfer-Encoding "binary"</FilesMatch>
Установка одного типа содержимого в вашем PHP-коде недостаточно. Вам нужно добавить PEC в MIME-тип вашего веб-сервера, чтобы понять, какой тип файла он передает.