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.// 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);