Hola a todos.
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";
}
}
?>
Vereis que los enlaces no tienen la extension, eso es porque tengo modificado el .htaccess para que haya urls amigables, no se si afecta en algo al problema, ya que ha venido cuando he cambiado esto.