Foros del Web » Programando para Internet » PHP »

Error en mi codigo php de formulario

Estas en el tema de Error en mi codigo php de formulario en el foro de PHP en Foros del Web. Hola webmasters. Ok estoy por finalizar un formulario de envio de archivos por email. el metodo que estoy utilizando es el de subir al servidor ...
  #1 (permalink)  
Antiguo 24/05/2011, 14:06
 
Fecha de Ingreso: mayo-2011
Mensajes: 36
Antigüedad: 12 años, 11 meses
Puntos: 0
Error en mi codigo php de formulario

Hola webmasters.

Ok estoy por finalizar un formulario de envio de archivos por email.

el metodo que estoy utilizando es el de subir al servidor y de alli enviarlos por email.

Entonces cree una carpeta fisica en mi servidor ftp y puse el siguiente codigo:

Código PHP:
<?php 
$sendTo 
"[email protected]"
$subject "Curriculum"
$telefono $_POST["telefono"]; 
$archivo $_FILES["archivo"]; 
$email $_POST["email"];
$nombre $_POST["nombre"];
$headers .= ""
$message "Nombre: " $nombre "\nTelefono: " $telefono "\nCurriculum: " $archivo "\nEmail: " $email
mail($sendTo$subject$message$headers); 
if (!empty(
$_FILES)) {
    
$tempFile $_FILES['archivo']['tmp_name'];
        
$carpetaArchivosSubidos "subidos";
    
$targetPath $_SERVER['DOCUMENT_ROOT'].$carpetaArchivosSubidos'/';
    
$targetFile =  str_replace('//','/',$targetPath) . $_FILES['archivo']['name']; // $_FILES['archivo']['name'] contiene el nombre del archivo original; utiliza echo o print para mostrarlo.
    
echo $_FILES['archivo']['name'];
        
// Quita el comentario de la siguiente línea para crear la carpeta:
         //mkdir(str_replace('//','/',$targetPath), 0755, true);
         
mkdir("/ftpinter/intersystem-arg.com/subidos/"0700);
        
        
move_uploaded_file($tempFile$targetFile);
                
// La siguiente línea muestra la ruta y el nombre del archivo en el servidor (descomentala para ver):
        
echo str_replace($_SERVER['DOCUMENT_ROOT'],'',$targetFile);
}

?>

Pero me tira los siguientes errores:
Cita:
canchas.txt
Warning: mkdir(/ftpinter/intersystem-arg.com/subidos/): No such file or directory in E:\webspace\intersystem\ftpinter\intersystem-arg.com\www\formulario.php on line 56

Warning: move_uploaded_file(subidos/canchas.txt): failed to open stream: No such file or directory in E:\webspace\intersystem\ftpinter\intersystem-arg.com\www\formulario.php on line 58

Warning: move_uploaded_file(): Unable to move 'C:\PHP\uploadtemp\php245D.tmp' to 'subidos/canchas.txt' in E:\webspace\intersystem\ftpinter\intersystem-arg.com\www\formulario.php on line 58
subidos/canchas.txt

Y por mucho que lei no logro solucionarlos. alguna ayuda?

GRACIAS
  #2 (permalink)  
Antiguo 26/05/2011, 06:14
 
Fecha de Ingreso: mayo-2011
Mensajes: 36
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: Error en mi codigo php de formulario

Disculpen que revivo aca, pero hice unas modificaciones y quizas ahora me puedan ayudar..


Código PHP:
Código PHP:
<?php  
$sendTo 
"[email protected]";  
$subject "Curriculum";  
$telefono $_POST["telefono"];  
$archivo $_FILES["archivo"];  
$email $_POST["email"]; 
$nombre $_POST["nombre"]; 
$headers .= "";  
$message "Nombre: " $nombre "\nTelefono: " $telefono "\nCurriculum: " $archivo "\nEmail: " $email;  
mail($sendTo$subject$message$headers);  
if (!empty(
$_FILES)) { 
    
$tempFile $_FILES['archivo']['tmp_name']; 
        
$carpetaArchivosSubidos "subidos"
    
$targetPath $_SERVER['DOCUMENT_ROOT'].$carpetaArchivosSubidos'/'
    
$targetFile =  str_replace('//','/',$targetPath) . $_FILES['archivo']['name']; // $_FILES['archivo']['name'] contiene el nombre del archivo original; utiliza echo o print para mostrarlo. 
    
echo $_FILES['archivo']['name']; 
        
// Quita el comentario de la siguiente línea para crear la carpeta: 
         //mkdir(str_replace('//','/',$targetPath), 0755, true); 
          
         
        
move_uploaded_file($tempFile$targetFile); 
                
// La siguiente línea muestra la ruta y el nombre del archivo en el servidor (descomentala para ver): 
        
echo str_replace($_SERVER['DOCUMENT_ROOT'],'',$targetFile); 


?>

Ok, ahora no me salio error, llego el email y en la pagina de mensaje enviado me aparecio lo siguiente:

canchas.txtsubidos/canchas.txt.

(YO CREE UNA CARPETA FISICA DENTRO DE MI RAIZ Y LA SUBI AL FTP CON EL NOMBRE "SUBIDOS" PARA QUE AHI LLEGUEN LOS ADJUNTOS PERO CREO QUE NO LO INDIQUE EN EL PHP Y NO SE COMO)

Hasta aca todo bien, pero el email me llega sin el adjunto.


Nombre: sd
Telefono: asd
Curriculum: Array
Email: asdasddss

Creo que en donde dice root deberia cambiar e indicar el directorio de la carpeta subidos no?
aunque no se bien como seria.
  #3 (permalink)  
Antiguo 26/05/2011, 09:03
Avatar de skiper0125  
Fecha de Ingreso: octubre-2010
Ubicación: $this->Mexico('Toluca');
Mensajes: 1.127
Antigüedad: 13 años, 6 meses
Puntos: 511
Respuesta: Error en mi codigo php de formulario

El problema principal que te arroja es en base al directorio(carpeta) el cual menciona que no existe en tu servidor.

Existe una forma muy sencilla de saber si existe un directorio y en base a ella lo puedes crear y si ya existe no hace nada solo guarda el archivo te dejo este ejemplo checalo y lo demas depende de ti.

Código PHP:
Ver original
  1. $de='tucarpeta';
  2.  
  3. if(!is_dir($de)){
  4.     @mkdir($de);            // crea la carpeta si no existe, si ya existe no hace nada
  5. }


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

Etiquetas: formulario
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 02:09.