Foros del Web » Programando para Internet » PHP »

Error al enviar imagenes por formulario

Estas en el tema de Error al enviar imagenes por formulario en el foro de PHP en Foros del Web. Hola, e cambiado de servidor de host y e copiado la pagina tal cual la tenia en el otro host que funcionaba 100% y cuando ...
  #1 (permalink)  
Antiguo 02/04/2009, 12:29
 
Fecha de Ingreso: abril-2009
Mensajes: 5
Antigüedad: 15 años
Puntos: 0
Error al enviar imagenes por formulario

Hola, e cambiado de servidor de host y e copiado la pagina tal cual la tenia en el otro host que funcionaba 100% y cuando en el formulario adjuntan fotos no me llegan, y los campos me llegan tmb vacios. haber si veis algun error.
El navegador al enviar el formulario dice error de copy en la linea 103, 106 y 109
que no se encuentra el directorio, este es el codigo:
Donde pone AQUILAPAGINAWEB, va la direccion pero no me deja ponerla por ser usuario nuevo

Código PHP:
<?
/* Variables de entrada: 
----------------------------------------------

profesional
nombre
apellidos
nombre_artistico
dni
nacionalidad
pais_residencia
ciudad_residencia
direccion
medidas
altura
ojos
nacimiento
telefono
email
url
disponible
experiencia
paisestrabajo
tatuajes
idioma
autorizo
comentarios


*/

$PATH_IMG    $DOCUMENT_ROOT."/contacto/archivos/";
$nummax 1000000;
$random rand(1,$nummax);
$random2 $random 1;
$random3 $random2 1;

$extension substr($_FILES["archivo"]["name"],strrpos($_FILES["archivo"]["name"],'.')+1);
$extension2 substr($_FILES["archivo2"]["name"],strrpos($_FILES["archivo2"]["name"],'.')+1);
$extension3 substr($_FILES["archivo3"]["name"],strrpos($_FILES["archivo3"]["name"],'.')+1);

$nombreFichero     $random.".".$extension;
$nombreFichero2 $random2.".".$extension2;
$nombreFichero3 $random3.".".$extension3;

$body "Datos recogidos por el formulario de contacto:\n
¿Es profesional? ........... $profesional\n
Nombre ..................... $nombre\n
Apellidos .................. $apellidos\n
Nombre artistico ........... $nombre_artistico\n
DNI ........................ $dni\n
Nacionalidad ............... $nacionalidad\n
Pais de residencia ......... $pais_residencia\n
Ciudad ..................... $ciudad_residencia\n
Direccion .................. $direccion\n
Altura ..................... $altura\n
Color Ojos.................. $ojos\n
Medidas .................... $medidas\n
Fecha nacimiento ........... $nacimiento\n
Telf. ...................... $telefono\n
Email ...................... $email\n
Web ........................ $url\n
Disponibilidad ............. $disponible\n
Experiencia ................ $experiencia\n
Paises donde ha trabajado .. $paisestrabajo\n
Tatuajes ................... $tatuajes\n
Idiomas .................... $idiomas\n
¿Autorizo utilizacion fotos? $autorizo\n
Comentarios ................ $comentarios\n
"
;

if(
$extension!=""){$bodyfoto1 "Fotografia .................: aquilapaginaweb/contacto/archivos/$nombreFichero
"
;
} else {
$bodyfoto1 "";}
if(
$extension2!=""){$bodyfoto2 "Fotografia2 ................: aquilapaginaweb/contacto/archivos/$nombreFichero2
"
;
} else {
$bodyfoto2 "";}
if(
$extension3!=""){$bodyfoto3 "Fotografia3 ................: aquilapaginaweb/contacto/archivos/$nombreFichero3
"
;
} else {
$bodyfoto3 "";}

$body2 "

Hemos recibido correctamente su solicitud, 
en breve nos pondremos en contacto con usted . 



Atentamente, 
la empresa. 
 


"
;
$bodydef $body.$bodyfoto1.$bodyfoto2.$bodyfoto3;

$EMAIL "AQUIELEMAIL";
        
mail($email_empresa"La empresa - SOLICITACION DE CONTACTO"$body2,"From: $EMAIL\r\nReply-To: $EMAIL\r\nX-Mailer: PHP/".phpversion());
    
mail($EMAIL"CONTACTO PAGINA WEB - STRIPPER"$bodydef,"From: $EMAIL\r\nReply-To: $EMAIL\r\nX-Mailer: PHP/".phpversion());
    
// Copia de control
    
mail("AQUIELEMAIL""CONTACTO PAGINA WEB STRIPPER - chemy"$bodydef,"From: $EMAIL\r\nReply-To: $EMAIL\r\nX-Mailer: PHP/".phpversion());
if(
$extension!=""){    
copy($_FILES["archivo"]["tmp_name"],$PATH_IMG.$nombreFichero);
}
if(
$extension2!=""){
copy($_FILES["archivo2"]["tmp_name"],$PATH_IMG.$nombreFichero2);
}
if(
$extension3!=""){
copy($_FILES["archivo3"]["tmp_name"],$PATH_IMG.$nombreFichero3);
}
  #2 (permalink)  
Antiguo 02/04/2009, 12:34
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Error al enviar imagenes por formulario

Lo unico que veo que puede hacer diferencia entre ambos servidores es el uso de short tags y register globals, puede que uno, o ambos esten desactivados en el nuevo servidor.

1- Cambia <? por <?php
2- Antes de la linea de $PATH_IMG agrega: extract($_POST); con eso se definiran automaticamente todas las variables que recibes desde el formulario; personalmente prefiero hacerlo de una a una para validarlas, pero te servira.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 02/04/2009, 14:08
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Error al enviar imagenes por formulario

3 - No uses copy, usa move_uploaded_file()
http://www.php.net/manual/en/functio...oaded-file.php
  #4 (permalink)  
Antiguo 03/04/2009, 04:34
 
Fecha de Ingreso: abril-2009
Mensajes: 5
Antigüedad: 15 años
Puntos: 0
Respuesta: Error al enviar imagenes por formulario

Hola triby, muchas gracias, ya recibo el contenido de los campos.

Ronruby, he probado con el move_uploaded_file(), lo e puesto asi:

Código PHP:
if($extension!=""){
move_uploaded_file($_FILES["archivo"]["tmp_name"],$PATH_IMG.$nombreFichero);

pero me sigue dando error mas concretamente estos errores:

Warning: move_uploaded_file(/contacto/archivos/408248.jpg) [function.move-uploaded-file]: failed to open stream: No such file or directory in /homepages/30/d279883761/htdocs/es/respuesta-strippers.php on line 104

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpbELcP3' to '/contacto/archivos/408248.jpg' in /homepages/30/d279883761/htdocs/es/respuesta-strippers.php on line 104

Warning: move_uploaded_file(/contacto/archivos/408249.jpg) [function.move-uploaded-file]: failed to open stream: No such file or directory in /homepages/30/d279883761/htdocs/es/respuesta-strippers.php on line 107

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpPu9Iv0' to '/contacto/archivos/408249.jpg' in /homepages/30/d279883761/htdocs/es/respuesta-strippers.php on line 107

Warning: move_uploaded_file(/contacto/archivos/408250.jpg) [function.move-uploaded-file]: failed to open stream: No such file or directory in /homepages/30/d279883761/htdocs/es/respuesta-strippers.php on line 110

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/php29305p' to '/contacto/archivos/408250.jpg' in /homepages/30/d279883761/htdocs/es/respuesta-strippers.php on line 110

La verdad estoy desesperado y agradezco mucho vuestra ayuda!
  #5 (permalink)  
Antiguo 03/04/2009, 04:52
 
Fecha de Ingreso: abril-2009
Mensajes: 3
Antigüedad: 15 años
Puntos: 0
Respuesta: Error al enviar imagenes por formulario

Me pregunto si has mirado el tema de permisos en las carpetas, si el codigo esta bien podria ser eso.
  #6 (permalink)  
Antiguo 03/04/2009, 05:25
 
Fecha de Ingreso: abril-2009
Mensajes: 5
Antigüedad: 15 años
Puntos: 0
Respuesta: Error al enviar imagenes por formulario

en las carpetas del host te refieres? no se como darle permisos, agradeceria tu ayuda.

Gracias de antemano
  #7 (permalink)  
Antiguo 03/04/2009, 13:49
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Error al enviar imagenes por formulario

Es un problema de como estas armando las rutas:

Carpeta local del index de tu sitio: /homepages/30/d279883761/htdocs/
Carpeta donde quieres almacenar las imagenes: /contacto/archivos/

Recuerda que la diagonal al inicio hace que la carpeta se busque desde la raiz del disco y no la raiz de tu sitio, excepto cuando el acceso es por http (que no es el caso).

Define bien este punto y no tendras problemas.
__________________
- León, Guanajuato
- GV-Foto
  #8 (permalink)  
Antiguo 04/04/2009, 15:48
 
Fecha de Ingreso: abril-2009
Mensajes: 5
Antigüedad: 15 años
Puntos: 0
Respuesta: Error al enviar imagenes por formulario

ok triby el lunes lo pruebo y te digo algo de todas formas esta pagina estaba subida en otro servidor y no se a cambiado nada y funcionaba perfecto, a sido al mudarlo de servidor que dejo de ir el formulario y lo de las imagenes.

Gracias
  #9 (permalink)  
Antiguo 06/04/2009, 08:29
 
Fecha de Ingreso: abril-2009
Mensajes: 5
Antigüedad: 15 años
Puntos: 0
Respuesta: Error al enviar imagenes por formulario

wenas triby,
ya esta solucionado! Muchas gracias, eres un crack.

te mando un saludo mu fuerte y de nuevo, GRACIAS.
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 16:53.