GeehR00x 0 Denunciar post Postado Setembro 20, 2012 Estou desenvolvendo uma ferramenta , que nessecita do copia de imagens da net direto pra meu servidor. exemplo: www.seusite.com/imgem.jpg para meu servidor. ja fiz uma pesquisa , achei muitos , porem muitos falharão , e estou tentando evitar cURL pq não sei kk. Obg. Compartilhar este post Link para o post Compartilhar em outros sites
rohde 3 Denunciar post Postado Setembro 20, 2012 se você tiver o HTTP stream wrapper habilitado faça assim copy('http://dominio.com/foto.jpeg', '/tmp/foto.jpeg'); se nao tente assim <?php //Get the file $content = file_get_contents("http://example.com/image.jpg"); //Store in the filesystem. $fp = fopen("/location/to/save/image.jpg", "w"); fwrite($fp, $content); fclose($fp); ?> ou assim $remoteimage = "http://domain.com/path/to/remote/image.jpg"; $localimage = "/home/domain/httpdocs/path/to/my/image.jpg"; if ($content = file_get_contents($remoteimage)) { if (!empty($content)) { $fp = fopen($localimage, "w"); fwrite($fp, $content); fclose($fp); } } Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Augusto 417 Denunciar post Postado Setembro 20, 2012 Cuidado com a desinformação, Ricardo. Todas as três implementações requerem obrigatoriamente que o HTTP Stream Wrapper esteja disponível, caso contrário, o PHP não entenderá o que http:// significa. @GeehR00x, para saber se sua instalação possui essa habilidade, execute um phpinfo() e procure por allow_url_fopen, sob a seção Core. O valor na coluna Local Value deve ser On. [EDIT] Para fazer utilizando a cURL é bem fácil, veja: $filename = 'http://www.google.com/intl/pt-BR_ALL/images/logos/images_logo_lg.gif'; $ch = curl_init( $filename ); curl_setopt( $ch, CURLOPT_RETURNTRANSFER, TRUE ); $image = curl_exec( $ch ) or die( curl_error() ); curl_close( $ch ); // Ajustando a extensão por segurança $ext = ltrim( strrchr( $filename, '.' ), '.' ); $fp = fopen( sprintf( 'image.%s', $ext ), 'wb' ); fwrite( $fp, $image ); fclose( $fp ); Na primeira parte você usa a cURL para conectar ao recurso externo. Cria uma variável ($image) à qual você atribui aquilo que a cURL retornar. Depois fecha a sessão. O ponto mais importante aqui é o curl_setopt() pois sem a opção RETURNTRANSFER habilitada a variável $image não receberá o valor esperado pois o mesmo será ecoado na tela. A segunda parte é mais simples ainda. Uma vez que você tem a representação textual da imagem, basta você gravar o arquivo. Mas existe outro ponto importante aqui, principal mas não exclusivamente, de ambientes Windows, que é a letra b no modo de abertura de fopen(), haja vista haver pequenas nuances entre binários e não-binários nele. Eu fiz uma pequena modificação para que você não defina acidentalmente a extensão do arquivo errado, por identificar a correta a partir do endereço do arquivo externo. Compartilhar este post Link para o post Compartilhar em outros sites
rohde 3 Denunciar post Postado Setembro 20, 2012 huuum não sabia... a intenção era ajudar *-* Compartilhar este post Link para o post Compartilhar em outros sites
GeehR00x 0 Denunciar post Postado Setembro 20, 2012 Funcionou perfeitamente. ! Obrigado aos dois , me fornecerão mais ideias. .-. Compartilhar este post Link para o post Compartilhar em outros sites