Ok gracias por el apunte, lo he modificado y ahora tanto en local como en el servidor me funciona igual pero sigue fallandome cuando pongo imagenes de mas de 300Kb es como si no me reconociera el tamaño ya que el error que me da no es de tamaño es como si no hubiera sibido la foto.
adjunto codigo modificado.
[
Código PHP:
<?php
if ($_POST["comment2"]!= "xxxxxxxxxxxxx") {
$seccion_contenido .= "$earth_submit_cb";
} else {
if ($_FILES['imagen']['name']!= "" AND $_FILES['imagen']['size']<300000){
//$ruta = $_SERVER["DOCUMENT_ROOT"];
$sql= "SELECT MAX(earth_id) AS mid FROM laken_earth";
$resultado = bd_consultar($sql, $enlacebd);
$fila = bd_llenar_array ($resultado);
$foto=$fila["mid"]+1;
$tipoarchivo=$_FILES['imagen']['type'];
if (strpos($tipoarchivo, "gif")){
$foto=$foto.".gif";
} elseif (strpos($tipoarchivo, "jpg")){
$foto=$foto.".jpg";
} elseif (strpos($tipoarchivo, "jpeg")){
$foto=$foto.".jpeg";
} elseif (strpos($tipoarchivo, "bmp")){
$foto=$foto.".bmp";
} else {
$foto=$foto.substr($tipoarchivo,strlen($tipoarchivo)-3,3);
}
if (is_uploaded_file($_FILES['imagen']['tmp_name']) AND move_uploaded_file($_FILES['imagen']['tmp_name'],"$ruta_ima/lakenonearth/$foto")){
chmod( "$ruta_ima/lakenonearth/$foto", 0644 );
$seccion_contenido = "$earth_submit_ok ".$_FILES['imagen']['name']." (". $_FILES['imagen']['size'] / 1000 ." bytes)";
$sql = "INSERT INTO laken_earth (earth_image,earth_date,earth_comment,earth_location,earth_from,earth_email) VALUES('$foto','$date','$comment','$location','$from','$email')";
if($resultado = bd_consultar($sql, $enlacebd)){
$seccion_contenido .= "<br> Imagen grabada correctamente";
}else{
$seccion_contenido .= "<br>$earth_submit_insert";
}
}else{
//aqui es donde me llega (o donde se me queda) cuando subo imagenes de mas de 300Kb
$seccion_contenido .= "$earth_submit_error"." ".$_FILES['imagen']['name'];
}
} else {
if ($_FILES['imagen']['size']>300000){
$seccion_contenido.="$earth_submit_maxsize ". $_FILES['imagen']['size']/1000;
} else {
$seccion_contenido .= "$earth_submit_eblank";
$seccion_contenido .= $_FILES['imagen']['size'];
}
}
}
$go_back .= '<a href="javascript:history.back()" class="earth">'.$earth_submit_back.'</a>';
$seccion_cuerpo = "$ruta_tpl/earth_upload.html";
?>
He estado haciendo pruebas, y si el fichero es de menos de 300Kg si me reconoce el tipo y el tamaño, pero si el fichero es superior no me reconoce ni el tipo ni el tamaño(en disco se supone) e cogido una imagen de 704Kb y no me la reconoce, la reduzco a 94Kb y perfecto, con este codigo de prueba que he hecho mas pequeño, porque pasa esto.
Código PHP:
<?php
if ($_POST["comment2"]!= "xxxxxxxxxxxxx") {
$seccion_contenido .= "$earth_submit_cb";
} else {
if ($_FILES['imagen']['name']!= ""){
//$ruta = $_SERVER["DOCUMENT_ROOT"];
$sql= "SELECT MAX(earth_id) AS mid FROM laken_earth";
$resultado = bd_consultar($sql, $enlacebd);
$fila = bd_llenar_array ($resultado);
$foto=$fila["mid"]+1;
$tipoarchivo=$_FILES['imagen']['type'];
if (strpos($tipoarchivo, "gif")){
$foto=$foto.".gif";
} elseif (strpos($tipoarchivo, "jpg")){
$foto=$foto.".jpg";
} elseif (strpos($tipoarchivo, "jpeg")){
$foto=$foto.".jpeg";
} elseif (strpos($tipoarchivo, "bmp")){
$foto=$foto.".bmp";
} else {
$foto=$foto.substr($tipoarchivo,strlen($tipoarchivo)-3,3);
}
$seccion_contenido.="$earth_submit_maxsize 2..". $_FILES['imagen']['size']/1000;
$seccion_contenido.=$foto;
} else {
}
}
$go_back .= '<a href="javascript:history.back()" class="earth">'.$earth_submit_back.'</a>';
$seccion_cuerpo = "$ruta_tpl/earth_upload.html";
?>
Ya esta solucionado, porfin es que estaba bloqueado el tamaño en el formulario joer lo que me ha costado. muchas gracias de todas formas.