I'm trying to make an uploader for PDF file's and I don't know why when I work in localhost everything's ok, but when I work with my paid hosting the function move_uploaded_file don't work.
Here's my code:
<?php
$empresa = $_POST['name'];
$direccion = $_POST['direccion'];
$codigopostal = $_POST['codepostal'];
$poblacion= $_POST['poblacion'];
$email = $_POST['email'];
$telefono = $_POST['telefonol'];
$trabaja = $_POST['jobornot'];
$horarios = $_POST['horarios'];
$enque = $_POST['seleccion'];
$permisoconducir = $_POST['conducir'];
$uploaddir = '../tmp_cv/';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
$sujeto = "Curriculum Vitae Baby & Home";
$from = "recursoshumanos@babyandhome.es";
$headers = "From:" . $from;
$cuerpo = "Empresa: ".$empresa."
Dirección:".$direccion."
Población:
".$poblacion."
Codigo Postal:
".$codigopostal."
email:
".$email."
Teléfono:
".$telefono."
Trabaja?:
".$trabaja."
En que?:
".$enque."
Permiso de conducir?:
".$permisoconducir."
Horarios disponibles:
".$horarios."";
$to = 'recursoshumanos@babyandhome.es';
$cuerpo_automatico = "";
if($empresa==NULL or $direccion==NULL or $poblacion==NULL or $codigopostal==NULL or $email==NULL or $telefono==NULL) {
echo 'Todos los campos con un (*) son obligatorios';
}
elseif($_FILES['userfile']['size'] > 5000000) {
echo "El tamaño del pdf es demasiado grande y debe ser como máximo de 5Mb";
}
elseif(move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
require 'PHPMailerAutoload.php';
require_once('class.phpmailer.php');
$mail = new PHPMailer;
$mail->setFrom('recursoshumanos@babyandhome.es', 'Recursos Humanos Baby & Home');
$mail->addAddress($email, '');
$mail->Subject = 'Curriculum Vitae Baby & Home';
$mail->msgHTML("Muchas gracias por hacernos llegar su CV a Baby & Home. Revisaremos su candidatura y en el momento que exista una oferta adecuada a su perfil nos pondremos en contacto con usted.");
$mail->addAttachment($uploadfile, '');
if (!$mail->send()) {
$msg = "Error: " . $mail->ErrorInfo;
} else {
echo'Mensaje enviado correctamente';
}
}
else {
echo'Ha habido un error, porfavor vuelve a enviar tu mensaje';
}
?>
I think that fails here:
elseif(move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
because don't enter there and shows echo.
I searched and I think my problem isn't in PHP, is in Ajax/jQuery.
I use this code:
function enviarCV () {
$("#send").html("Enviando..");
$.ajax({
url: "enviarCorreoCV.php",
type: 'POST',
data: $('#form2').serialize(),
cache: false,
success: function(html){
$("#send").html("Enviar");
alert(html);
}
});
}
Maybe I can't use serialize() with upload files?
</div>