php


Forçar download de arquivos com PHP

Postado em 11/12/2013 por Rogerio - Categoria: Internet - Tags: download php forçar

Essa é uma dúvida um pouco comum quando temos um sistema que envia arquivos para download e você não quer que o arquivo seja aberto pelo navegador ou acessado diretamente como por exemplo http://www.seusite.com.br/downloads/arquivo.zip.

O script simples abaixo mostra como fazer para, além de forçar o download, permitir que você faça um contador de downloads do arquivo, proteger o nome real do arquivo ou protegê-lo por uma sessão (apenas usuários logados).

Você pode salvar o script abaixo como getdownload.php por exemplo.
 

// Define o tempo máximo de execução igual a 0 para as conexões lentas.
set_time_limit(0);

// Aqui você faz as validações, pega os dados do banco de dados, etc...

$arquivoNome = 'imagem.jpg'; //nome do arquivo que será baixado.
$arquivoLocal = '/pasta/do/arquivo/'.$arquivoNome; //caminho absoluto do arquivo

//Verifica se o arquivo não existe
if (!file_exists($arquivoLocal)) {
  //Exiba uma mensagem de erro caso ele não exista
  exit;
}

//Aqui você pode contabilizar o download.

//Define o novo nome do arquivo que o usuário vai salvar.
$novoNome = 'imagem_nova.jpg';
 
// Configuramos os headers que serão enviados para o browser.
header('Content-Description: File Transfer');
header('Content-Disposition: attachment; filename="'.$novoNome.'"');
header('Content-Type: application/octet-stream');
header('Content-Transfer-Encoding: binary');
header('Content-Length: ' . filesize($aquivoNome));
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Expires: 0');

//Envia o arquivo para o cliente
readfile($aquivoNome);


 




Permitir PHP_VALUE no .htaccess

Postado em 26/06/2008 por Rogerio - Categoria: Dicas Linux - Tags: php htaccess

Teoricamente só precisa do "AllowOverride Options" e "php_admin_flag engine on".

Exemplo (configuração do apache):

php_admin_flag engine On
AllowOverride FileInfo AuthConfig Limit Options


Exemplo (.htaccess):

php_value post_max_size 20971520
php_value upload_max_filesize 20971520
php_value magic_quotes_gpc off
php_value session.save_handler files
php_value register_globals off


 




Aumentar tempo de execução de uma página PHP específica

Postado em 26/06/2008 por Rogerio - Categoria: Internet - Tags: php tempo execução

Colocar no script:

set_time_limit();


 




Permitir que o Apache para Windows execute programas atraves do exec do PHP

Postado em 26/06/2008 por Rogerio - Categoria: Dicas Linux - Tags: php exec apache

Vá em Iniciar > Executar > services.msc
Clique com o direito em "Apache...", selecione propriedades.
Clique na guia "LOG ON"
Marque a opção "Allow this service to interact with desktop"
Clique OK
Reinicie o apache.

 




Executar programas windows remotamente com Apache/PHP

Postado em 26/06/2008 por Rogerio - Categoria: Dicas Linux - Tags: apache php remoto

start Notepad.exe minimized in the background:

$WshShell = new COM("WScript.Shell");
$oExec = $WshShell->Run("notepad.exe", 7, false);

start a shell command invisible in the background:

$WshShell = new COM("WScript.Shell");
$oExec = $WshShell->Run("cmd /C dir /S %windir%", 0, false);

start MSPaint maximized and wait for you to close it before continuing the script:

$WshShell = new COM("WScript.Shell");
$oExec = $WshShell->Run("mspaint.exe", 3, true);


 




  Página de 1  


Runtime Sistemas ® - Jaraguá do Sul - SC - 47 9196-3060