Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Josuel S.H

Upload Imagens

Recommended Posts

olá a todos do forum

 

estou qurendo fazer um upload de imagens, mas eu quero um que faz uploads de images ja hospedado em algum servidor

 

tipo

 

ao invez da pessoa fazer um upload normal assim

 

"C:\Documents and Settings\Administrador\Desktop\test.jpg"

 

eu quero que a pessoa coloque o link da imagem tipo assim

 

"http://www.---------------------.com.br/imgs/test.jpg"

 

entenderam?!

 

espero que alguém me ajude

 

Agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

como assim amigo?

 

olha eu tenho esse arquivo em php que faz upload do pc pro host

 

<?php
$dir = "imagens/";

$file = $_FILES["arquivo"];

if (move_uploaded_file($file["tmp_name"], "$dir/".$file["name"])) {
   echo "Arquivo enviado com sucesso!";
}
else {
   echo "Erro, imagem não pode ser enviado.";
}
?>

alguém sabe tipo fazer isso que eu quero modificando esse código?

Compartilhar este post


Link para o post
Compartilhar em outros sites

esquerendo fazer tipo esse

 

Imagem Postada

 

da ImageShack

 

mas não precisa ser com a mesma função, o que eu quero é so pra pessoa colocar o link da imagen e ele copia a imagem para o servidor do meu site

Compartilhar este post


Link para o post
Compartilhar em outros sites

$file = 'http://img523.imageshack.us/img523/69/tuxrockxv5.jpg';

$content = file_get_contents( $file );

file_put_contents( '/tmp/img.jpg', $content );

/tmp/img.jpg passa a ter o conteúdo da imagem contida em $file

 

 

Basta verificar o tipo da imagem antes de criar o arquivo. Por exemplo, extensão jpg, gif ou png

Compartilhar este post


Link para o post
Compartilhar em outros sites

acho que é nessa parte

 

file_put_contents( '/tmp/img.jpg', $content );

tipo

 

se o endereço da imagem é

 

http://img523.imageshack.us/img523/69/tuxrockxv5.jpg

 

ele copia a imagem para a pasta imagens

 

e cria um nome para a imagem aleatoriamente para não substituir caso exista um imagem com mesmo nome

 

da uma olhada nesse tópico que eu fiz

 

http://forum.imasters.com.br/index.php?showtopic=346350

Compartilhar este post


Link para o post
Compartilhar em outros sites

estou tentando umas coisas aqui

 

e volto com o resultado

 

estou com uma dúvida

 

o comando

 

"fopen" abre arquivo

 

"fputs" insere no arquivo

 

e qual que cria o arquivo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

fopen cria, se não existir (quando aberto para esrita)

 

Mas por que não usa file_get_contents e file_put_contents como mostrei. É bem mais simples. file_put_contents cria arquivo também.

 

O primeiro parâmetro de file_put_conetnts é o local onde deseja salvar. pode ser "./imagens/img.jpg" ou qualquer outra coisa. Usei "/tmp" pois era apenas um teste

Compartilhar este post


Link para o post
Compartilhar em outros sites

ta então a parte php fica assim

 

<?php
$file = 'http://img523.imageshack.us/img523/69/tuxrockxv5.jpg';

$content = file_get_contents( $file );

file_put_contents( '/tmp/img.jpg', $content ) {
   echo "Arquivo enviado com sucesso!";
}
else {
   echo "Erro, imagem não pode ser enviado.";
}
?>

vou testar ja volto com os resultados

Compartilhar este post


Link para o post
Compartilhar em outros sites

não funcionou

 

coloquei assim

 

<?php
$file = 'http://img523.imageshack.us/img523/69/tuxrockxv5.jpg';

$content = file_get_contents( $file );

file_put_contents( '/tmp/img.jpg', $content );
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

estou tentando fazer de um geito aqui

 

mas tipo

 

alguém sabe algum comando php

 

que insere informações em uma página ".htm"

 

tipo

 

não funciona com o comando "fputs" por que tipo se uma pessoa colocar um codigo html ex:

"<img src="http://img523.imageshack.us/img523/69/tuxrockxv5.jpg">"

 

ai ele insere da seguinte maneira

 

"<img src=\"http://img523.imageshack.us/img523/69/tuxrockxv5.jpg\">"

 

acho que é tipo assim não me lembro bem quando eu testei

 

ai na hora de vizualizar não presta

 

e com a função "file_put_contents" simplesmente não funcionou

 

fiz o teste e ele não inseriu nada

Compartilhar este post


Link para o post
Compartilhar em outros sites

ops hehe

 

fiz o teste novamente com a função "file_put_contents"

 

mas ficou do mesmo geito da função "fputs"

 

o certo é pra ficar sem aquelas "\"

 

alguém sabe?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Teste assim:

 

<?php
error_reporting(E_ALL);
ini_set("display_errors", 1); 

$file = 'http://img523.imageshack.us/img523/69/tuxrockxv5.jpg';

$content = file_get_contents( $file );

if (file_put_contents( '/tmp/img.jpg', $content )) {
   echo "Arquivo enviado com sucesso!";
}else {
   echo "Erro, imagem não pode ser enviado.";
}
?>

Nos informe se aparecer algum erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

não retornou nenhum erro

 

apareceu o seguinte

 

"Arquivo enviado com sucesso!"

 

mas ele não envia

 

eu procurei no servidor e não tem nenhum arquivo enviado por ele

Compartilhar este post


Link para o post
Compartilhar em outros sites

Está testando num servidor remoto ou em localhost?

é windows ou linux? Se for windows, nunca vai funcionar com /tmp.

 

Teste assim:

file_put_contents( './img.jpg', $content );

img.php será criado no mesmo diretório do script.

Compartilhar este post


Link para o post
Compartilhar em outros sites

servidor remoto, linux,

 

"img.php será criado no mesmo diretório do script."?

 

não seria "img.jpg"?

 

ah e outra coisa

 

tipo alguém poderia me falar como funciona a função copy()?

 

acho que com essa função irá resolver

 

por que tipo eu acho que com ele, ele vai fazer assim

 

vai pegar a imagem do servidor remoto e vai copiar para o meu servidor

Compartilhar este post


Link para o post
Compartilhar em outros sites

olá pessoal fiz uma parada aqui usanvo a função copy()

 

mas estou com um problema, tipo ele não esta criando o arquivo sozinho

 

tipo eu hospedo e dou permissão 777 mas nada adianta

 

estou usavando servidor linux

 

da o seguinte erro

 

Warning: copy(img.htm) [function.copy]: failed to open stream: Permission denied in /home/systemah/public_html/copy.php on line 5

 

mas para não dar esse erro eu tenho que criar um arquivo em meu servidor com o nome de "img.htm" e dar a ele permissão 777 também ai ele funciona normalmente

 

mas ele tem é que criar o arquivo sozinho quando o script for executado

 

isse erro ocorreu também com as funções "fput" e "file_put_contents" (foram so esses que eu testei)

 

eles so funciona normal se eu criar um arquivo no servidor com o nome que a função vai inserir

 

tipo será que isso é alguma função do php que esta desativada ou alguma outra coisa

 

estou tentando falar com os caras do meu servidor pra vê se eles resolvem isso

 

mas se alguém souber de alguma coisa avisa ai beleza

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.