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.