Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/10/2004, 04:24
karpoj23
 
Fecha de Ingreso: diciembre-2003
Ubicación: Málaga
Mensajes: 495
Antigüedad: 20 años, 4 meses
Puntos: 0
Modificar datos con ficheros

Buenas estoy realizando un script en el cual tienes fotos subidas a traves de un administrador echo tb x mi con un upload, ahora toy haciendo un modificar, y cuando aparece la pantalla de modificar le tengo puesto el nombre d la foto y una etiqueta file para subir otra foto en el sitio de esa. Pongo mejor el codigo

Lo que habia pensado es: tener en variables de sesion el valor antiguo, por si en alguna etiqueta file no se modifica alguna foto, en el update coger el valor de la sesion y sino pues coge el valor nuevo. Lo he intentado asi pero no me funciona:


Modi1.php

session_name('misesion');
session_start();

//una variable por cada foto
session_register('r1');
session_register('r2');
session_register('r3');
session_register('r4');
session_register('r5');

//aqui vendria la conexion a base de datos...
//tb la muestra de datos

//muestro el valor que tiene en la base de datos
<tr>
<td><strong><font color="#FF9900" size="2" face="Arial, Helvetica, sans-serif">Foto 1</font></strong> </td>
<td><?= $linea->foto ?> <input name="userfile" type="file" id="userfile" size="22"></td>
</tr>

//ese valor se lo pongo a cada variable de sesion
$_SESSION[r1]=$linea->foto;
$_SESSION[r2]=$linea->foto1;
$_SESSION[r3]=$linea->foto2;
$_SESSION[r4]=$linea->foto3;
$_SESSION[r5]=$linea->foto4;

Modi2.php

//tengo mi conexion a la base de datos y a la sesion

y le tengo puesto esto


if ($_POST[userfile]=NULL)
{
$_POST[userfile]=$_SESSION[r1];
}
else
{
$nombre_archivo = $HTTP_POST_FILES['userfile']['name'];
$tipo_archivo = $HTTP_POST_FILES['userfile']['type'];
$tamano_archivo = $HTTP_POST_FILES['userfile']['size'];

if (!((strpos($tipo_archivo, "gif") || strpos($tipo_archivo, "jpeg") || strpos($tipo_archivo, "jpg")) && ($tamano_archivo < 600000))) {
echo "La extensión o el tamaño de los archivos no es correcta. <br><br><table><tr><td><li>Se permiten archivos .gif o .jpg<br><li>se permiten archivos de 600 Kb máximo.</td></tr></table>";
}else{
if (move_uploaded_file($_FILES['userfile']['tmp_name'],"fotos/".$_FILES['userfile']['name'])){



echo "El archivo ha sido cargado correctamente.<br>";
}else{
echo "Ocurrió algún error al subir el fichero. No pudo guardarse.";
}
}

}

Al probarlo me dice:

Se permiten archivos .gif o .jpg
Se permiten archivos de 600 Kb máximo.
La extensión o el tamaño de los archivos no es correcta.

Es decir q no sube el fichero q he modificado, sino q el interpreta q he modificado todos, cuando solo lo he echo con alguno.

Esta es mi duda, gracias.