Foros del Web » Programando para Internet » PHP »

problemas al copiar archivos

Estas en el tema de problemas al copiar archivos en el foro de PHP en Foros del Web. hola tengo este script sencillo lo que hace es copiar de un server a otro Código PHP: <?php $origen  =  "http://citiodeorigen/archivo.php?id=703" ; $destino  =  "703" ...
  #1 (permalink)  
Antiguo 31/05/2003, 12:55
 
Fecha de Ingreso: marzo-2003
Mensajes: 277
Antigüedad: 14 años, 9 meses
Puntos: 0
problemas al copiar archivos

hola
tengo este script sencillo lo que hace es copiar de un server a otro


Código PHP:
<?php
$origen 
"http://citiodeorigen/archivo.php?id=703";
$destino "703";
copy($origen$destino);
?>

en mi pc me arroja esto
Cita:
Warning: copy(http://citiodeorigen/archivo.php?id=703) [function.copy]: failed to create stream: Bad file descriptor in c:\appserv\www\proyecto\copiar.php on line 4
y en el hosting me arroja esto otro

Cita:
Warning: Unable to open 'http://citiodeorigen/archivo.php?id=703' for reading: No such file or directory in /var/www/html/virtual/micitio/www/kech/copiar.php on line 4
la carpeta que esta en mi hosting esta con permisos 777
en php.ini lo tengo con figurado de esta forma que creo que es lo que tiene que ver con este tema

en el hosting esta haci

Cita:
upload_max_filesize 1M 1M
upload_tmp_dir /tmp /tmp
y en mi pc esta haci y esta con winxp


Cita:
upload_max_filesize 2M 2M
upload_tmp_dir /tmp /tmp
los archivos que quiero copiar no pesan mas de 100kilos

donde puede estar el problema

salu2
  #2 (permalink)  
Antiguo 31/05/2003, 13:01
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 16 años, 4 meses
Puntos: 9
¿Sabes que pasa?, lo mas probable es que el archivo origen no sea posible de agarrar, es de plano bloqueado por el servidor origen.
  #3 (permalink)  
Antiguo 31/05/2003, 13:35
 
Fecha de Ingreso: marzo-2003
Mensajes: 277
Antigüedad: 14 años, 9 meses
Puntos: 0
y entonces como tengo que poner para que el server de origen me lo envie alguna configuracion del servidor apache ?????
  #4 (permalink)  
Antiguo 31/05/2003, 14:49
Avatar de Mickel  
Fecha de Ingreso: mayo-2002
Ubicación: Lima, Peru
Mensajes: 4.619
Antigüedad: 15 años, 6 meses
Puntos: 7
Probaste hacer un fopen a la url para verificar que exista?
__________________
No tengo firma ahora... :(
  #5 (permalink)  
Antiguo 31/05/2003, 16:23
 
Fecha de Ingreso: marzo-2003
Mensajes: 277
Antigüedad: 14 años, 9 meses
Puntos: 0
Código PHP:
<?php
 $origen 
"http://citiodeorigen/archivo.php?id=703";
 if (
fopen($origen"r")){
 
$destino "703";
 
copy($origen$destino);
 echo 
"se copio con exito";
 }
 else {
 echo 
"no existe la url";
 }
?>
eso me arroja no existe la url pero si pongo la url en el navegador me funciona el link

alguna otra forma de hacer ese copiado de archivo ???

voy a probar si se puede hacer que habra el archivo en binario y despues creo otro archivo con el contenido del archivo anterior

pero no encuentro por que pasa esto sera por que las descargas las dengo con id y segun la id envia el archivo
  #6 (permalink)  
Antiguo 31/05/2003, 19:06
 
Fecha de Ingreso: agosto-2002
Ubicación: Colón - Entre Rios - Argentina
Mensajes: 647
Antigüedad: 15 años, 4 meses
Puntos: 8
copy() solamente puede copiar urls a partir de PHP 4.3 y con la directiva allow_url_fopen activada en el php.ini.
Otra cosa que puedes hacer es usar fwrite() para escribier en nuevo archivo.
Pero siempre que quieras abrir una url debes hacerlo con allow_url_fopen activada.
Código PHP:
<?php
 $origen 
"http://citiodeorigen/archivo.php?id=703";
$fp fopen($origen"r");
 if (
$fp){
  
$contenido fread ($fp1024*20); //abre hasta 20 kb
 
$destino "703";
$fn fopen($destino "w");
fwrite ($fn$contenido );
 echo 
"se copio con exito";
 }
 else {
 echo 
"no existe la url";
 }
fclose($fp);
fclose($fn);
?>

Última edición por fran86; 31/05/2003 a las 19:14
  #7 (permalink)  
Antiguo 31/05/2003, 20:47
 
Fecha de Ingreso: marzo-2003
Mensajes: 277
Antigüedad: 14 años, 9 meses
Puntos: 0
lo intente como me dices fran86
pero pasa lo mismo

la unica forma de copiar es poner el nombre del archivo enves de la direccion de descarga

osea

http://citiodeorigen/archivo.php?id=703

si pongo haci no funciona

http://citiodeorigen/nombre_del_archivo

pero si pongo haci si funciona

pero el problema es que no se como sacar el nombre del archivo automatico solo tengo el id del los archivos que estan en mi otro server

voy a tener que hacerlo a la forma manual
no mas o alguien que sepa de un gestor de descargas que haga una actualizacion de una pagina cada cierto tiempo

gracias a todos por la ayuda
  #8 (permalink)  
Antiguo 31/05/2003, 21:38
 
Fecha de Ingreso: febrero-2003
Ubicación: Viña del Mar
Mensajes: 85
Antigüedad: 14 años, 9 meses
Puntos: 2
Disculpa pero ke es lo que hace el script *archivo.php*?
__________________
http://www.zypper.cl/blues.gif
(web-hosting)

  #9 (permalink)  
Antiguo 02/06/2003, 04:25
 
Fecha de Ingreso: agosto-2002
Ubicación: Colón - Entre Rios - Argentina
Mensajes: 647
Antigüedad: 15 años, 4 meses
Puntos: 8
Ahora entiendo, hasta el momento crei que intentabas abrir el archivo remoto y guardarlo en tu pagina,

pero parece que quieres obtener el valor del ID en la url ¿noo?
En ese caso revisa parse_url()
http://www.php.net/parse_url
que te devolverá un array con el elemento ['query'], luego solo restaria aplicarle arguna funcion de cadena.

Saludos!

PD: si no es eso explicate mejor.
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 03:28.