PHP - Error sin sentido en la funcion copy()

   
Vista:

Error sin sentido en la funcion copy()

Publicado por Arturo (3 intervenciones) el 28/08/2011 04:55:55
Hola, antes que nada gracias por la ayuda porque estoy desesperado y no se qué más hacer, he probabo de todas las formas.. con trim(), con " ", con ' ', una mezcla... el problema es que la funcion copy de php me da suelta el error, lo curioso es que copia el archivo... pero claro con el error no puedo usar header. A ver si podeis ayudarme, es bastante importante.

Este es el codigo:

$cod = $_GET['codigo'];
$res_origen = "$cod".'.'."$ext";
$sql = "SELECT MAX(CAST(codigo AS INT4)) FROM OBRAS";
$res = pg_query($sql) or die('Error consulta');
$row = pg_fetch_row($res);
if($row[0]==""){
$cod1=1;
}
else{
$cod1=$row[0]+1;
}

$res_destino = "$cod1".'.'."$ext";

$origen="peticiones/$res_origen";
$destino="obras/$res_destino";

if(copy($origen,$destino)){
if(unlink($origen)){
}
if(chmod($destino, 0604)){
$bien ="bien";
}
}

Y este el error:

Warning: copy(peticiones/1.): failed to open stream: No such file or directory in /home/al106699/public_html/aceptar_peticion_subida.php on line 50 Call Stack: 0.0004 340028 1. {main}() /home/al106699/public_html/aceptar_peticion_subida.php:0 0.0883 343652 2. copy() /home/al106699/public_html/aceptar_peticion_subida.php:50 Warning: pg_query():

Lo que quiero decir es que todo va bien, copia el fichuero, lo borra y le da permisos en la otra carpeta, pero el error sigue saliendo, me esta volviendo loco.

A ver si podeis ayudarme por favor, gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Error sin sentido en la funcion copy()

Publicado por xve (5513 intervenciones) el 28/08/2011 12:15:43
Hola Arturo, no es un error, sino que es un warning...

No se muy bien que valen las variables $origen y $destino, pero una cosa un poco rara, aunque te esta funcionando correctamente, pero estas lineas:
1
2
$res_origen = "$cod".'.'."$ext";
$res_destino = "$cod1".'.'."$ext";

Según yo entiendo, debería de ser así:
1
2
$res_origen = $cod.".".$ext;
$res_destino = $cod1.".".$ext;


No es lo mas correcto, ya que lo suyo es encontrar el porque del warning, pero si todo va bien, y quieres que no muestre el warning, pon una arroba (@) en frente de la instrucción copy... así:
1
if(@copy($origen,$destino)){

Con la arroba, omite el warning y posibles errores
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Error sin sentido en la funcion copy()

Publicado por Arturo (3 intervenciones) el 28/08/2011 19:56:17
Pues muchas gracias, lo de las comillas es lo que he puesto antes, que he probado de todas las formas jajaj, pondré la @ y adios al warning, muchas gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Error sin sentido en la funcion copy()

Publicado por Arturo (3 intervenciones) el 28/08/2011 20:01:23
Perdona que te moleste otra vez, he probado a poner la @ y no me lo omite, puede ser que el error lo lance de alguna forma el servidor, que no sea compatible 100% con la funcion copy?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar