Foros del Web » Programando para Internet » PHP »

Copiar al servidor imagen desde URL

Estas en el tema de Copiar al servidor imagen desde URL en el foro de PHP en Foros del Web. Buenas, Me gustaría poder importar imágenes a mi servidor desde una url. Estoy intentando con copy y no se si es lo correcto porque me ...
  #1 (permalink)  
Antiguo 09/02/2012, 14:47
 
Fecha de Ingreso: febrero-2008
Mensajes: 56
Antigüedad: 16 años, 9 meses
Puntos: 1
Copiar al servidor imagen desde URL

Buenas,

Me gustaría poder importar imágenes a mi servidor desde una url. Estoy intentando con copy y no se si es lo correcto porque me da errores. Lo que hago es algo así:

copy('http://www.webdelaimagen.com/imagen.jpg','/images');

Esto no me funciona, también me gustaría poder cambiarles el nombre... ¿Qué hago mal?

Gracias!
  #2 (permalink)  
Antiguo 09/02/2012, 14:52
Avatar de zarkiel  
Fecha de Ingreso: febrero-2012
Mensajes: 51
Antigüedad: 12 años, 9 meses
Puntos: 15
Respuesta: Copiar al servidor imagen desde URL

Supongo que es esto lo que quieres:

Código PHP:
Ver original
  1. <?
  2. $imagen = file_get_contents('http://www.webdelaimagen.com/imagen.jpg'); // guardamos la imagen en la variable
  3. file_put_contents('images/imagen_copiada.jpg',$imagen); // guardamos la imagen con nombre: imagen_copiada.jpg
  4. ?>
__________________
« Los deseos pueden hacerse realidad, pero no basta con esperar un milagro, el milagro lo hacemos nosotros... Aquí y ahora »
  #3 (permalink)  
Antiguo 09/02/2012, 17:36
 
Fecha de Ingreso: febrero-2008
Mensajes: 56
Antigüedad: 16 años, 9 meses
Puntos: 1
Respuesta: Copiar al servidor imagen desde URL

Lo probaré, muchas gracias, zarkiel!!!
  #4 (permalink)  
Antiguo 15/11/2012, 13:25
 
Fecha de Ingreso: noviembre-2012
Mensajes: 2
Antigüedad: 12 años
Puntos: 0
Respuesta: Copiar al servidor imagen desde URL

Hola soy nuevo en esta web

Mi pregunta es la siguiente:

me eh encontrado muchos ejemplos como esos, algunos de esta web y otros que me ido en contrando por el google. la pergunta es como se le puede dar seguridad, por ejemplo.

que solo se pueda copiar un tipo de formato o sea, que solo quiero imagenes que sean .jpg o .png y restrengir otro tipo de archivos o formato.

Gracias.
  #5 (permalink)  
Antiguo 15/11/2012, 13:40
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 9 meses
Puntos: 155
Respuesta: Copiar al servidor imagen desde URL

Cita:
Iniciado por ALOYA Ver Mensaje
Hola soy nuevo en esta web

Mi pregunta es la siguiente:

me eh encontrado muchos ejemplos como esos, algunos de esta web y otros que me ido en contrando por el google. la pergunta es como se le puede dar seguridad, por ejemplo.

que solo se pueda copiar un tipo de formato o sea, que solo quiero imagenes que sean .jpg o .png y restrengir otro tipo de archivos o formato.

Gracias.
pues si

http://www.hucreative.com/php/php2.html

checa esta linea

Código PHP:
if((ereg(".jpg"$filename)) || (ereg(".gif"$filename)) || (ereg(".JPG"$filename))|| (ereg(".GIF"$filename))) 
__________________
No me interesan ni las gracias ni los karmas , pero si que se genere conocimiento, si se dio con la respuesta por favor confirmalo
  #6 (permalink)  
Antiguo 15/11/2012, 13:53
Avatar de skiper0125  
Fecha de Ingreso: octubre-2010
Ubicación: $this->Mexico('Toluca');
Mensajes: 1.127
Antigüedad: 14 años, 1 mes
Puntos: 511
Respuesta: Copiar al servidor imagen desde URL

Hola que tal.

Cita:
Iniciado por mogurbon Ver Mensaje
pues si

Código PHP:
if((ereg(".jpg"$filename)) || (ereg(".gif"$filename)) || (ereg(".JPG"$filename))|| (ereg(".GIF"$filename))) 
ereg, recuerda que ereg a sido declarada como obsoleta mejor utiliza preg-match

El comentario no es ofensivo, solo constructivo.

Saludos
__________________
Recuerda que estamos aquí para orientarte, y no para hacer tu trabajo.
Si mi aporte fue de ayuda, recuerda que agradecer no cuesta nada +1

Skiper0125
  #7 (permalink)  
Antiguo 15/11/2012, 16:38
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 9 meses
Puntos: 155
Respuesta: Copiar al servidor imagen desde URL

Cita:
Iniciado por skiper0125 Ver Mensaje
Hola que tal.



ereg, recuerda que ereg a sido declarada como obsoleta mejor utiliza preg-match

El comentario no es ofensivo, solo constructivo.

Saludos
actualizativo
__________________
No me interesan ni las gracias ni los karmas , pero si que se genere conocimiento, si se dio con la respuesta por favor confirmalo
  #8 (permalink)  
Antiguo 15/11/2012, 17:28
 
Fecha de Ingreso: noviembre-2012
Mensajes: 2
Antigüedad: 12 años
Puntos: 0
Respuesta: Copiar al servidor imagen desde URL

Gracias a todos por responder.

despues de unas cuantas horas para poder en tenderlo lo consegui en tender.
Ya que en el ejemplo que me puso mogurbon faltaba la barras de escape.

Bueno dejo un ejemplo de lo que eh echo:

Un formulario para poner los valores de la URL de la imagen, nombre y el formato,
y un archivo upload que recoje los datos del fomulario.

Formulario:

Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<
title>Subir Imagen desde URL</title>
<
style type="text/css">
<!--
.
text {
    
font-family"Trebuchet MS"ArialHelveticasans-serif;
    
font-size14px;
    
line-heightnormal;
    
font-weightnormal;
    
color#333;
    
text-decorationnone;
}
.for {
    
height20px;
    
width100%;
}
.
formu {
    
padding10px;
    
border2px solid #30F;
    
width455px;
}
-->
</
style>
</
head>

<
body>
<
div class="formu">
  <
form id="form1" name="form1" method="post" action="upload.php">
    <
table border="0" align="center" cellpadding="0" cellspacing="0">
      <
tr>
        <
td width="140" align="left" valign="middle" class="text">Enlace:</td>
        <
td width="15">&nbsp;</td>
        <
td width="300"><input name="filename" type="text" class="for" placeholder="Url de la Imagen" autofocus /></td>
      </
tr>
      <
tr>
        <
td width="140">&nbsp;</td>
        <
td width="15">&nbsp;</td>
        <
td width="300">&nbsp;</td>
      </
tr>
      <
tr>
        <
td width="140" align="left" valign="middle" class="text">Nombre:</td>
        <
td width="15">&nbsp;</td>
        <
td width="300"><input name="name" type="text" class="for" placeholder="Nombre de la Imagen" /></td>
      </
tr>
      <
tr>
        <
td width="140">&nbsp;</td>
        <
td width="15">&nbsp;</td>
        <
td width="300">&nbsp;</td>
      </
tr>
      <
tr>
        <
td width="140" align="left" valign="middle" class="text">Formato:</td>
        <
td width="15">&nbsp;</td>
        <
td width="300"><select name="format" class="for" placeholder="Url de la Imagen">
          <
option value=".jpg">JPG</option>
          <
option value=".png" selected="selected">PNG</option>
          <
option value=".gif">GIF</option>
        </
select></td>
      </
tr>
      <
tr>
        <
td width="140">&nbsp;</td>
        <
td width="15">&nbsp;</td>
        <
td width="300">&nbsp;</td>
      </
tr>
      <
tr>
        <
td width="140">&nbsp;</td>
        <
td width="15">&nbsp;</td>
        <
td width="300" align="right" valign="middle"><input name="" type="submit" value="Enviar" /></td>
      </
tr>
    </
table>
  </
form>
</
div>
</
body>
</
html
upload:

Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Subir Imagen desde URL</title>
<style type="text/css">
<!--
.noval, .imagen {
    font-family: "Trebuchet MS", Verdana, Geneva, sans-serif;
    font-size: 16px;
    font-style: normal;
    line-height: normal;
    font-weight: normal;
    color: #333;
    text-decoration: none;
    text-align: center;
    height: 80px;
    width: 100%;
    border: 1px solid #666;
    padding-top: 12px;
}
.volver {
    font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: bold;
    color: #333;
    text-decoration: none;
    height: 30px;
    width: 100px;
    padding-top: 6px;
    padding-left: 40px;
    border: 1px solid #000;
}
-->
</style>
</head>

<body>
<?php
$filename 
$_POST['filename']; //URL de la imagen a copiar
$name $_POST['name']; //Nombre final de la imagen
$format $_POST['format']; // Formato en el queremos guardar la imagen
if(preg_match("/.png/"$filename) || preg_match("/.jpg/"$filename) || preg_match("/.gif/"$filename) || preg_match("/.JPG/"$filename) || preg_match("/.GIF/"$filename)) {
$imagen file_get_contents($filename); // guardamos la imagen en la variable
file_put_contents('img/'.$name.$format,$imagen);// guardamos la imagen con nombre: imagen_copiada.jpg

echo '<div class="imagen"><img src="img/'.$name.$format.'" width="64" height="64" /></div>';
} else {
    echo 
'<div class="noval">Tipo de Imagen no Valido</div>';
    }
//
?>
<br />
<br />
<a href="index.php"><div class="volver">Volver</div></a>
</body>
</html>
Mas hay que crear una carpeta con el nombre img

Gracias por la ayuda.

Etiquetas: servidor, url
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:54.