PHP - Upload Archivos

   
Vista:
Imágen de perfil de Tomás

Upload Archivos

Publicado por Tomás (81 intervenciones) el 20/10/2013 14:09:31
Hola, muy buenas.

Me gustaría saber cómo puedo hacer una web en la que pueda subir gran cantidad de archivos... con todas las extensiones no sólo imágenes...

Tengo esto:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<form name="subir_imagen" method="post" enctype="multipart/form-data">
    <input type="file" name="imagen"  /><br />
    <input type="submit" name="botEnviarImagen" value="Subir Imagen" />
</form>
 
<?php
        $conexion = mysqli_connect("localhost","root","")or die("error2");
        mysqli_select_db($conexion, "pruebas");
 
        if(isset($_POST["botEnviarImagen"])){
            $nameimagen = $_FILES['imagen']['name'];
            $tmpimagen = $_FILES['imagen']['tmp_name'];
            $extimagen = pathinfo($nameimagen);
            $ext = array("bmp","gif","jpg","png","exe");
			$url = "http://localhost/prueba/";
            $urlnueva = "images/".md5($nameimagen . time()).'.'.$extimagen['extension'];
 
 
                if(is_uploaded_file($tmpimagen)){
 
                    if(array_search($extimagen['extension'],$ext)){
 
                        copy($tmpimagen, $urlnueva);
						echo 'URL: '.$url.''.$urlnueva.'';
						$entro = mysqli_query($conexion, "INSERT INTO imagen(imgs) VALUES ('".$url."".$urlnueva."')")or die("Error");
                    }
 
                    else {
 
                        echo "Solo se permiten imágenes con formato bmp, jpg, gif o png<br>";
 
                    }
 
                }
 
                else {
 
                    echo "Selecciona una imagen.";
 
                }
 
        }

Pero no me deja subir archivos, .exe osea los de gran carga que pesan muchos.

¿Cómo lo puedo hacer?.

Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Upload Archivos

Publicado por Mari Carmen (145 intervenciones) el 21/10/2013 08:59:56
Prueba con esto:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<?php
$msg="";
$ext = array("bmp","gif","jpg","png","exe");
$url = "http://localhost/prueba/";
$proceder=false;
 
if(isset($_POST["botEnviarImagen"])){
    switch ($_FILES['imagen']['error'])
    {
        case UPLOAD_ERR_OK:
            //$msg = "No hay error, archivo subido con éxito.";
            $proceder=true;
            break;
        case UPLOAD_ERR_INI_SIZE:
            $msg = "El archivo subido excede la directiva upload_max_filesize en php.ini.";
            break;
        case UPLOAD_ERR_FORM_SIZE:
            $msg = "El archivo subido excede la directiva MAX_FILE_SIZE que fue especificada en el formulario HTML.";
            break;
        case UPLOAD_ERR_PARTIAL:
            $msg = "El archivo subido fue sólo parcialmente cargado.";
            break;
        case UPLOAD_ERR_NO_FILE:
            $msg = "Ningún archivo fue subido.";
            break;
        case UPLOAD_ERR_NO_TMP_DIR:
            $msg = "Falta la carpeta temporal. Introducido en PHP 4.3.10 y PHP 5.0.3.";
            break;
        case UPLOAD_ERR_CANT_WRITE:
            $msg = "No se pudo escribir el archivo en el disco. Introducido en PHP 5.1.0.";
            break;
        case UPLOAD_ERR_EXTENSION:
            $msg = "Una extensión de PHP detuvo la carga de archivos.";
    }
 
    if($proceder){
        $nameimagen = $_FILES['imagen']['name'];
        $tmpimagen  = $_FILES['imagen']['tmp_name'];
        $extimagen  = pathinfo($nameimagen);
        $urlnueva = "images/".md5($nameimagen . time()).'.'.$extimagen['extension'];
 
        if(is_uploaded_file($tmpimagen)){
 
            if(array_search($extimagen['extension'],$ext)){
                if(!move_uploaded_file($tmpimagen, $urlnueva)){
			        $msg ="No se ha podido mover $tmpimagen a $urlnueva";
			     }else{
			        $msg = "URL: $url$urlnueva";
			        //$conexion = mysqli_connect("localhost","root","","pruebas")or die("error2");
			        //$entro = mysqli_query($conexion, "INSERT INTO imagen(imgs) VALUES ('".$url."".$urlnueva."')")or die("Error");
			    }
            }else{
                $msg = "La extensión no esta permitida<br>";
            }
        }else{
            $msg = "Selecciona una imagen.";
        }
    }
}
 
 
?>
<div id="msg"><?=$msg?></div>
<form name="subir_imagen" method="post" enctype="multipart/form-data">
    <input type="file" name="imagen"  /><br />
    <input type="submit" name="botEnviarImagen" value="Subir Imagen" />
</form>

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar