Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/08/2012, 02:23
alyciashape
 
Fecha de Ingreso: abril-2012
Mensajes: 590
Antigüedad: 12 años
Puntos: 58
Problema al subir una foto

Hola a todos, llevo más de una hora dándole vueltas y vueltas y no logro solucionarlo. Simplemente quiero subir una foto. El código antes funcionaba.

Código PHP:
//Componemos la fecha en formato americano Y-m-d para MySQL
$fecha $_POST['fecha'];
$dia substr($fecha02);
$mes substr($fecha32);
$anho substr($fecha64);
$fecha $anho."-".$mes."-".$dia;
$fecha_foto $fecha."_".date('H:m:i');

//Subimos la foto
if ($_FILES['foto']["name"] != NULL)
{        
    
$uploads_dir './galeria/';
    
$tmp_name $_FILES["foto"]["tmp_name"];        
    
$name $fecha."_".$nombre;    
    
move_uploaded_file($tmp_name"$uploads_dir/$name");
    
$rutaFoto "$uploads_dir/$name"//para subir a MySQL

Vease la antepenúltima línea. Si $name = $fecha."_".$nombre; funciona perfectamente. Si cambio $fecha por $fecha_foto ya no funciona! No lo entiendo.

Esto después de darle mil vueltas. Antes lo tenía diferente. $nombre lo saco de más arriba, es el nombre de un evento y es correcto. Hacer un echo de $fecha_foto también da bien.

¿Alguna idea?
Por cierto, como puedo llevar hasta aquí la extensión de la imagen? porque el fichero temporal no pone la extension.

Todo esto viene a que quise modificar el código porque cuando quieren subir una imagen con espacios no subían. Así que me decidí por cambiar el nombre de las fotos que suben. Y me acabo dar cuenta que si el nombre del evento no tiene espacios sube bien, el problema es que tenga espacios. Pero aunque añada el nombre así:
$name = $fecha."_".str_replace(" ", "_", $nombre);
Sigue sin funcionar. La foto no sube.


EDIT: claro, no se puede poner en un nombre de fichero ":" los dos puntos. Ahora lo que no se es como pasarle la extensión.¿Alguien?
Y otro problema es que si el nombre del evento tiene acentos, si bien funciona, en Windows se ven caracteres extraños en los nombres de las fotos

Última edición por alyciashape; 30/08/2012 a las 02:49