Criando pasta e arquivos temporários
Olá galera, eu estava lendo um tópico sobre esconder o caminho original das imagens do site para que não pudessem ser postadas em outros sites assim diminuindo a tráfego em bytes e as vezes até bloquear a exibição de imagens de áreas restritas do site e pensei em uma forma, sei se quiser é só salvar a imagem e postar, mas ai o tráfego não pesa para para o dono do site http://forum.imasters.com.br/public/style_emoticons/default/natal_biggrin.gif , bom gostaria de deixar ai o código, se alguém melhorar ou fazer alteração, por favor compartilhem, ainda mais se isso melhorar a performance ou a integridade do site, também deêm suas opiniões ou criticas, o código pode ser bem melhorado, eu que não tenho muito conhecimento:
<?
define("DIRETORIO", "/home/site/public_html/albuns/"); // define a pasta onde estará os arquivos do site
define("TIMENAME", time().rand(111111, 999999)); // número aleatório para impedir nomes de pasta ou arquivos iguais
define("SITE", "/home/site/public_html/"); // pasta raiz do site ( acredito que deva existir um metodo de definir a pasta sem precisar saber qual é a pasta raiz ).
// deleta arquivos e pastas
function rmdir_dir($dirname) {
if ($dirHandle = opendir($dirname)) {
chdir($dirname);
while ($file = readdir($dirHandle)) {
if ($file == '.' || $file == '..') continue;
if (is_dir($file)){
rmdir_dir($file);
} else {
unlink($file);
}
}
chdir('..');
rmdir($dirname);
closedir($dirHandle);
}
}
// lista o diretorio e deleta pastas antigas
function ls_dir($dirname) {
$dir_time = time();
$dir_del = $dir_time - 60; // tempo para eclusão dos arquivos
foreach (glob ($dirname."*", GLOB_ONLYDIR) as $pastas) { // parece que só funciona em linux
if (is_dir ($pastas)) {
$diretorio = str_replace($dirname,"",$pastas); // nome da pasta que será apagada
$dir = substr(str_replace($dirname,"",$pastas), 0, 10); // data da criação da pasta
if($dir < $dir_del){ // compara tempo de criação da pasta
rmdir_dir(DIRETORIO.$diretorio); // apaga temporário
}
}
}
}
// copia o arquivo para a pasta temporária
function copy_img($foto){
ls_dir(DIRETORIO); // exclui temporário
$nameimg = time().rand(111111, 999999); // cria o nome da imagem
if(!file_exists(DIRETORIO.TIMENAME)){
$pasta = mkdir (DIRETORIO.TIMENAME , 0777 );
}
$src_true = DIRETORIO.TIMENAME."/".$nameimg.".jpg";
$src_false = "/albuns/".TIMENAME."/".$nameimg.".jpg";
copy(SITE.$foto, $src_true);
return $src_false;
}
?>
<img src="<?=copy_img("caminho_da_imagem")?>" /> <!-- para usar somente informar o caminho da imagem a partir da raiz do site, exemplo, se tem uma pasta imagens informe "imagens/nome_da_imagem.extensão", alem de mostrar a imagem irá apagar todas as imagens e pastas do temporário -->É isso ai galera, podem usar por sua conta e risco, eu estou usando em um site de teste e pelo resultado está tudo ok, mas mesmo assim acredito que pode ser melhorado, por isso mesmo publiquei aqui no forúm, para o pessoal ajudar a melhorar e compartilhar com quem precisar.
Att,
Orides.
Discussão (1)
Carregando comentários...