Cita:
Iniciado por only_skating
ok, ahora ya sube el archivo, pero me da el maldito error de sessesion caché.
he añadido unas cuantas cosas para asegurarme que suben una imagen y no cualquier cosa, PERO no funcionan porque he puesto un video y lo ha subido.:S si podeis echarmele un vistazo
Código PHP:
<?
include('conexion.php');
session_start();
if($_POST["Subir"]){
$id=$_SESSION[id_usuario];
$titulo=utf8_decode($_POST["titulo"]);
function genera_random($longitud){
$exp_reg="[^A-Z0-9]";
return substr(eregi_replace($exp_reg, "", md5(rand())) .
eregi_replace($exp_reg, "", md5(rand())) .
eregi_replace($exp_reg, "", md5(rand())),
0, $longitud);
}
$nombre = genera_random(10);
$file = $_FILES['fileField']['name'];
$fecha=date("Y/m/d H:i:s");
$carpeta="archivosusuario/fotos";
if($file=="")
if($file['archivo']['size'] < 20000)
if($file['archivo']['type']!="image/gif"){
print "Archivo no cumple condiciones";}
else{
$dirfinal = ($carpeta . "/" . $nombre);
if (is_uploaded_file($_FILES['fileField']['tmp_name'])) {
move_uploaded_file($_FILES['fileField']['tmp_name'], $dirfinal);
mysql_query("INSERT INTO fotos(id_usuario,titulo,fecha,codigo)
values ('$id','$titulo','$fecha','$nombre') ");}
header("Location:uploadfotos.php");
}}
?>
Estas lineas no estan bien:
if($file['archivo']['size'] < 20000)
if($file['archivo']['type']!="image/gif"){
Ya que $file, tiene el nombre del fichero subido, el nombre original.
entonces, no puedes luego intentar acceder a ese string como un array multidimensional.
tal vez quieras hacer algo asi:
$file = $_FILE['fileField'];
con lo que luego si puedes acceder a esa variable $file de este modo
$file['name']
$file['tmp_name']
$file['size']
$file['type']
....
saludos
EDITO: Por cierto, en los if's tambien hay errores de concepto, no estan bien planteados.