Foros del Web » Programando para Internet » PHP »

duda con php al subir archivos

Estas en el tema de duda con php al subir archivos en el foro de PHP en Foros del Web. Le cuento rapidamente tengo un sistema de upload.php para subir archivos y resulta que esta echo para solo, o mejor dicho, la idea es que ...
  #1 (permalink)  
Antiguo 07/09/2007, 20:07
 
Fecha de Ingreso: noviembre-2005
Mensajes: 117
Antigüedad: 18 años, 4 meses
Puntos: 1
duda con php al subir archivos

Le cuento rapidamente tengo un sistema de upload.php para subir archivos y resulta que esta echo para solo, o mejor dicho, la idea es que se suban archvios de tipo XML y fotos pero siempre las fotos con el mismo nombre es decir

foto1.jpg foto2.jpg foto3.jpg para que el xml las lea y las actualice

mi codigo php es este:

<?php

$extensiones=array("html","exe","php");
$path="../noticias";
$nombre=$_FILES['archivo']['name'];
$tamanio=$_FILES['archivo']['size'];
$tipo=$_FILES['archivo']['type'];
$var = explode(".","$nombre");
$num = count($extensiones);
$valor = $num-1;
for($i=0; $i<=$valor; $i++) {
if($extensiones[$i] == $var[1]) {
echo "Tipo de Archivo no admitido";
exit;
}
}
if (is_uploaded_file($_FILES['archivo']['tmp_name'])){
move_uploaded_file($_FILES['archivo']['tmp_name'], "$path/$nombre");
echo "El archivo se ha subido correctamente al servidor, muchas gracias <p>";
echo "Nombre: $nombre <p>";
echo "Tamaño: $tamanio <p>";
echo "Tipo: $tipo";
}
else { echo "Error al subir el archivo"; }
?>


Ahora mi pregunta

Al subir una foto por ejemplo noticias1.jpg se va a ver en la pagina cierto pero si quiero subir de nuevo al misma foto es decir noticias1.jpg la va a subir pero, por el cache se ve la que subio primero, ahora como puedo Hacer que se suba la misma foto osea el mismo nombre pero que le actualice el cache al subirla con ese mismo nombre o como un ramdon pero no se como aplicarlo en php.

Se puede????


Gracias
Saludos
  #2 (permalink)  
Antiguo 09/09/2007, 12:46
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Re: duda con php al subir archivos

Sí se puede, el "truco" que se usa normalmente es pedir las imágenes de esta forma:

imagenes/foto1.jpeg?rnd=1235

A la variable rnd no la usás para nada, pero la generás con la función rand()

Como se supone que rand dará números diferentes cada vez, por más que la imagen sea la misma el navegador la pedirá de nuevo, al ser diferente la cadena de petición.


Saludos.
  #3 (permalink)  
Antiguo 09/09/2007, 20:26
 
Fecha de Ingreso: noviembre-2005
Mensajes: 117
Antigüedad: 18 años, 4 meses
Puntos: 1
Re: duda con php al subir archivos

Pero si Coloco

imagenes/foto1.jpeg?rnd=1235

lo tendria que generar de un php y las fotos las lee de un XML que a su vez lo lee un Flash para mostrarlo por html.

Gracias Igual

PD:

No hay forma de actualizar el cache o que en el php decirle que si la foto ya existe con el mismo nombre que la borre y la suba denuevo no se en realidad.

Por que si subo la foto con el mismo nombre lo que hace en realidad el php (el php que esta en el primer post de esot) al subir la foto no la sube solo deja la que esta online, porque tiene el mismo nombre.

Saludos
  #4 (permalink)  
Antiguo 10/09/2007, 07:46
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Re: duda con php al subir archivos

Entiendo. Pero si en Flash leés el XML, ¿no será posible agregar el número aleatorio con ActionScript?

Sí hay forma de forzar con PHP que la foto no se guarde en cache, pero implica cargar la foto con php, y enviar las cabeceras HTTP Pragma y Expires.

Cita:
en el php decirle que si la foto ya existe con el mismo nombre que la borre y la suba denuevo no se en realidad.
Ese es el comportamiento si subís la imagen con move_uploaded_file, fijate en la página del manual.

Tu problema es de cache, no de cómo PHP sube las imágenes.


Saludos.
  #5 (permalink)  
Antiguo 10/09/2007, 12:35
 
Fecha de Ingreso: noviembre-2005
Mensajes: 117
Antigüedad: 18 años, 4 meses
Puntos: 1
Re: duda con php al subir archivos

No entendi bien pero se supone que con move_uploaded_file al subir la imagen si ya existe la borra y la sube denuevo?.

O estoy equivocado.

Para este caso cual seria la mejor funcion para subir una imagen con el mismo nombre.

gracias!
  #6 (permalink)  
Antiguo 10/09/2007, 12:57
(Desactivado)
 
Fecha de Ingreso: diciembre-2006
Mensajes: 225
Antigüedad: 17 años, 3 meses
Puntos: 1
Re: duda con php al subir archivos

tendras q decirle al server q no guarde la cache con lo q te dijo el tia en el post anterior osea esto

cabeceras HTTP Pragma y Expires.

esto te permitira q no guarde cache ademas te puedes conseguir un pequeño javascript para q no guarde la cache en el explorer tbn son muy utilez
  #7 (permalink)  
Antiguo 11/09/2007, 05:58
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Re: duda con php al subir archivos

Cita:
Iniciado por chaleko Ver Mensaje
No entendi bien pero se supone que con move_uploaded_file al subir la imagen si ya existe la borra y la sube denuevo?.
Cita:
Iniciado por Manual de PHP
Aviso

Si el archivo de destino ya existe, será sobrescrito.
Cita:
Iniciado por chaleko Ver Mensaje
Para este caso cual seria la mejor funcion para subir una imagen con el mismo nombre.
Ninguna. ¿acaso en tu computadora podés tener 2 archivos con el mismo nombre en una carpeta?

Para saber si un archivo existe podés usar la función file_exists.


Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:27.