ImageShack Uploader

Iniciado por Synyster, 17 de Novembro , 2008, 08:16:55 AM

tópico anterior - próximo tópico

0 Membros e 1 Visitante estão vendo este tópico.

Synyster

<?php
/* Remote ImageShack Uploader
by synyster
www.forum-invaders.com.br */

class ImageShack
{
    var 
$url "http://files.myopera.com/Fvox/files/fx-sign.jpg";
   
    public function 
main(){
        
$xml $this->upload($this->TratarURL($this->url));
       
        
/* Achei desnecessário chamar a class que trata XML só pra pegar um mísero link */
        
preg_match_all("/\<image_link\>(.*?)\<\/image_link\>/"$xml$url);
       
        echo 
'<a href="'.$url[1][0].'">Link Direto</a>';
    }
   
    private function 
TratarURL($url){
        if(!
preg_match("/http:\/\//i"$url)) die("URL inválida.");   
        
$url trim($url);
       
        return 
$url;
    }
   
    private function 
upload($url){
        
$ch curl_init("http://www.imageshack.us/upload_api.php");
       
        
$post = array("xml"=>"yes",
                      
"url"=>$url
                     
);
                     
        
curl_setopt($chCURLOPT_POSTtrue);
        
curl_setopt($chCURLOPT_HEADERfalse);
        
curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
        
curl_setopt($chCURLOPT_POSTFIELDS$post);
       
        
$r curl_exec($ch);
        
curl_close($ch);
       
        if(
$r){
            if(empty(
$r)) return "Ocorreu um erro na conexão com o ImageShack";
            return 
$r;
        }
    }   
}
   
$upload = new ImageShack;
$upload->main();

?>