Mi problema es que en mi página me aparece el siguiente error:
Parse error: syntax error, unexpected $end in rutadelarchivo on line 1
Googleando el problema parecia ser que era porque faltaba cerrar algun corchete, pero revisando la sintaxis parece estar todo correto y mi editor php no me da ningun fallo.
El código es el siguiente (he sustituido algunas cosillas en el código como email y cosas asi para mantener la privacidad).
Código PHP:
<?php
session_start();
include('conectarse');
$link = conectarse();
require_once('recaptchalib');
$privatekey = "clave que oculto aqui";
$resp = recaptcha_check_answer($privatekey, $_SERVER["REMOTE_ADDR"], $_POST["recaptcha_challenge_field"], $_POST["recaptcha_response_field"]);
if (!$resp->is_valid) {
$_SESSION["error"] = "Error al introducir el captcha";
header("location: subir-relatos");
} else {
$to = $_POST['email'];
$subject = "privado";
$body = '
<html>
<head>
<title>titulo</title>
<style>
div{
text-align: center;
border: 1px solid #000;
padding: 10px;
}
#cabecera{
font-weight: bold;
background-color: #606C88;
color: #fff;
}
</style>
</head>
<body>
<div id="cabecera">CABECERA</div>
<div>
TEXTO
</div>
</body>
</html>
';
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=UTF-8\r\n";
$headers .= "From:email\r\n";
mail($to, $subject, $body, $headers);
$status = "";
// obtenemos los datos del archivo
$tamano = $_FILES["archivo"]['size'];
$tipo = $_FILES["archivo"]['type'];
$archivo = $_FILES["archivo"]['name'];
$prefijo = substr(md5(uniqid(rand())), 0, 6);
if ($archivo != "") {
for ($i = 0; $i < strlen($archivo); $i++) {
if ($archivo[$i] == " ") {
$archivo[$i] = "_";
}
}
$querySubirRelato = "INSERT INTO relatos (titulo, nombre, apellidos, telefono, email, ruta) VALUES ('" . $_POST["titulo"] . "', '" . $_POST["nombre"] . "', '" . $_POST["apellidos"] . "', '" . $_POST["telefono"] . "', '" . $_POST["email"] . "', '" . "relatos/" . $prefijo . "_" . $archivo . "')";
mysql_query($querySubirRelato, $link);
$destino = "relatos/" . $prefijo . "_" . $archivo;
if (copy($_FILES['archivo']['tmp_name'], $destino)) {
$status = "Archivo subido: <b>" . $archivo . "</b>";
$_SESSION["subirRelato"] = "true";
header("Location: enviado-con-exito");
} else {
$status = "Error al subir el archivo";
}
} else {
$status = "Error al subir archivo";
}
}
?>