Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/01/2008, 20:53
Radix00
 
Fecha de Ingreso: enero-2008
Mensajes: 8
Antigüedad: 16 años, 3 meses
Puntos: 0
Problema al subir ficheros(imagenes) al servidor desde la web

Hola!!!

Me estreno con un post debido a mi quebradero masivo de cabeza,es el siguiente.

Explico mas o menos el funcionamiento de mi pagina. Trabajo con el fichero includes y con un apartado para panel de control, toda la pagina usando html,css,javascript y php.La pagina esta subida contratada con "aruba.it". Llevo mucho tiempo haciendo cosas con ella, y aparte de una extrañez que otra que aun no es muy considerable o simplemente la puedo dejar para mas tarde, ahora tengo un problema al desarrollar un codigo.

En mi pagina en el panel de control quiero hacer lo siguiente:
Quiero con un formulario, recoger un archivo,concretamente una imagen hasta de 1mega(el maximo(muy maximo que ni siquiera se si posible)),el tamaño tampoco es primordial realmente.
Ese formulario llevar a otra pagina que lo recoge y la sube a una carpeta concreta que correspondera al año,mes y dia, y al mismo tiempo deja constancia en una base de datos del año,mes y dia en que se subio.

Ahora bien, me he quedado atascado, y no consigo siquiera que me suba el archivo al servidor a una carpeta cualquiera, os dejo el codigo, necesito ayuda porque ya va una semana que no saco nada en claro.

El codigo de la pagina donde esta el formulario:

<?php
# Mensaje por defecto.
$defecto = 'Eliga el archivo a subir y presione el boton Enviar';
# Seteamos la variable $msg con un if
# $variable = (exp) ? true : false;
$msg = ($_GET['errno']==1) ? $_GET['errmsg'] : $defecto;
?>
<form method="post" enctype="multipart/form-data" action="/mipagina/control/index.php?seccion=subirimagen-bd">
<table width="50%">
<tr>
<td><b><?=$msg?></b></td>
</tr>
<tr>
<td>Elige la Imagen:</td>
<td><input type="file" name="archivo" size="20" /></td>
</tr>
<tr>
<td>Subir Imagen:</td>
<td><input type="submit" value="Enviar" /></td>
</tr>
</table>
</form>


El codigo de la pagina donde se subira al servidor:

<?php
$carpeta_archivos = '../imagenes/secciones/noticias';
$bytes_max = '500';

# Si la carpeta no existe la creamos y le aplicamos los permisos.
if(!file_exists($carpeta_archivos)){
mkdir($carpeta_archivos);
chmod($carpeta_archivos, 0777);
}

# Verificamos que este setiado el archivo.
if($_FILES['archivo']){
# Verificamos que su tamaño sea mejor que los bytes que as puesto en la configuración.
if((1000 * $bytes_max) > $_FILES['archivo']['size']){
echo 'Entra al: verificar bytes';

# Seteamos las variables para mejor facilidad
$tmp = $_FILES['archivo']['tmp_name'];
$name = $_FILES['archivo']['name'];
$ahora = $carpeta_archivos.'/'.$name;

# Movemos el archivo a la carpeta
move_uploaded_file($_FILES['archivo']['tmp_name'], $ahora);


# Nos movemos al index.php
header("Location: /mipagina/control/index.php?seccion=subirimagen");
echo 'Entra al: mover a index';
}
else{
echo 'Entra al: else de mover index';
header("Location: /mipagina/control/index.php?seccion=subirimagen&errno=1&errmsg=Su archivo excede los ".$bytes_max."bytes.");
}
}
else{
echo 'Entra al: else del primer if';
header("Location: /mipagina/control/index.php?seccion=subirimagen&errno=1&errmsg=No ha seleccionado ningun archivo.");
}
?>


Soy consciente de que hay codigos que no tiran bien como el "header," que falta todo lo de mysql para subir a base de datos, pero el problema que tengo es que ni siquiera llega a subir el archivo y el caso es que siempre termina llegando todo bien,nunca sale por los "else" pero no tira si no me equivoco el "move_uploaded_file"

Gracias por adelantado y espero podais ayudarme porque ya no se que hacer