No se me suben los archivos

Iniciado por Puntoinfinito, 20 Marzo 2013, 17:33 PM

0 Miembros y 1 Visitante están viendo este tema.

Puntoinfinito

Hey!!

Tengo un problema... Tengo un sencillo script php:

Código (php) [Seleccionar]
<?php
$dir
'files/';
if (isset (
$_POST['button']) && is_uploaded_file($_FILES['archivo']['tmp_name'])){
$file$dir.basename($_FILES['archivo']['name']);
move_uploaded_file($_FILES['archivo']['tmp_name'], $file);
}
?>


Que permite subir archivos a un determinado directorio, en este caso (files/), el problema esta en que no sube nada... A qué se debe? Debo configurar algo? El .htcacces tal vez?

Saludos!!
AHORA EN SOFTONIC || CLICK HERE!!
Base64: QWNhYmFzIGRlIHBlcmRlciAxIG1pbnV0byBkZSB0dSB2aWRhLiBPbOkh



HACK AND 1337 : http://hackandleet.blogspot.com
WEBSITE: http://www.infiniterware.

basickdagger


yo subo imagenes y utilizo este codigo tal ves te pueda servir



$tamano = $_FILES [ 'file' ][ 'size' ];
$tamaño_max="500000";
if( $tamano < $tamaño_max){   
$destino = 'logos' ; 
$sep=explode('image/',$_FILES["file"]["type"]);
$tipo=$sep[1];
if($tipo == "gif" || $tipo == "PNG" || $tipo == "bmp" || $tipo == "jpeg" || $tipo == "jpg" || $tipo == "JPG" || $tipo == "JPEG" || $tipo == "png"){


move_uploaded_file ( $_FILES [ 'file' ][ 'tmp_name' ], $destino . '/' .$logotipo); 







y antes de todo eso con session_start();

espero haberte ayudado, a veces sucede q agregas mal el directorio, no te genera algún mensaje de error?? para saber en donde podrías estar mal

#!drvy

#2
Deberia funcionar. Asegurate de que cuando declaras el <form> este lleve
Código (plain) [Seleccionar]
enctype="multipart/form-data"

Para poder enviar archivos. Ademas asegurate de que el boton submit (el que envia el formulario) tenga de nombre "button". Te dejo un ejemplo de html que funciona con tu script:

Código (html4strict) [Seleccionar]
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Documento</title>
</head>

<body>
<form action="" method="POST" enctype="multipart/form-data">
<input type="file" name="archivo" />
<input type="submit" name="button" />
</form>
</body>
</html>


Si no funciona con esto, intenta habilitar los errores en el php.ini (display_errors y error_reporting E_ALL) y comprueba que tengas permisos para crear / subir archivos (en caso de estar bajo linux).



@basickdagger, el código que tienes es vulnerable. Estas comprobando el TYPE pero no la extensión del archivo. La cosa es que podría crear un archivo.php y cambiarle de extensión al momento de la subida. El navegador enviara como TYPE una imagen, pero en realidad sera un archivo PHP que se podrá ejecutar en tu servidor.

Saludos

Puntoinfinito

@basikdagger, @drvy gracias por responder!! Como dijo drvy el error esta en no añadir eso en el form :P, no lo sabía... Pero ya funciona :D

Cita de: drvy | BSM en 22 Marzo 2013, 06:24 AM
@basickdagger, el código que tienes es vulnerable. Estas comprobando el TYPE pero no la extensión del archivo. La cosa es que podría crear un archivo.php y cambiarle de extensión al momento de la subida. El navegador enviara como TYPE una imagen, pero en realidad sera un archivo PHP que se podrá ejecutar en tu servidor.

ZAS! jajaja

Salu2 a ambos
AHORA EN SOFTONIC || CLICK HERE!!
Base64: QWNhYmFzIGRlIHBlcmRlciAxIG1pbnV0byBkZSB0dSB2aWRhLiBPbOkh



HACK AND 1337 : http://hackandleet.blogspot.com
WEBSITE: http://www.infiniterware.