Como subir archivos desde php

ernestobolanos2012 Seguir

No recomendado
Verificación en dos pasos desactivada
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
17 Feb 2019
Mensajes
412
Por favor, ten en cuenta 📝 que si deseas hacer un trato 🤝 con este usuario, está baneado 🔒.
Alguien me puede ayudar y decirme como subir archivos desde una interfaz en php a mysql?
Gracias de antemano.
 

yeik1989

Beta
Verificación en dos pasos desactivada
Desde
14 May 2018
Mensajes
42
No puedes subir archivos "de php a mysql", a no ser que quieras guardar los archivos en la base de datos codificados en base64, que no creo que sea lo que quieras.

Por lo general para las subidas de archivos se usa una carpeta en el disco duro en la cual el usuario que arranca el servidor web (www-data suele ser, siempre que el servidor corra bajo unix) tiene permisos de escritura.


Para subir un archivo creando un formulario en HTML con la codificación mulipart/form-data. Algo así:

HTML:
<form action="file-handler-script.php" method="POST" enctype="multipart/form-data">
         <input type="file" name="miarchivo" />
         <input type="submit"/>
</form>

Donde pone file-handler-script.php debe ir la ruta relativa desde la raiz web hacia el script php que procesará el archivo, que debe contener algo parecido a esto:

PHP:
<?php
   if(isset($_FILES['miarchivo'])){
      $errors= array();
      $file_name = $_FILES['miarchivo']['name'];
      $file_size =$_FILES['miarchivo']['size'];
      $file_tmp =$_FILES['miarchivo']['tmp_name'];
      $file_type=$_FILES['miarchivo']['type'];
      $file_ext=strtolower(end(explode('.',$_FILES['miarchivo']['name'])));
      
      $extensions= array("jpeg","jpg","png");
      
      if(in_array($file_ext,$extensions)=== false){
         $errors[]="extension not allowed, please choose a JPEG or PNG file.";
      }
      
      if($file_size > 2097152){
         $errors[]='File size must be excately 2 MB';
      }
      
      if(empty($errors)==true){
         move_uploaded_file($file_tmp,"images/uploaded".$file_name);
         echo "Success";
      }else{
         print_r($errors);
      }
   }
?>

En este caso el script que procesa comprueba que la extensión sea jpeg, jpg o png y el tamaño menor a 2Mb, si es así lo guarda a la carpeta images/uploaded en el servidor.
 
Última edición:

Zarat

Delta
Programador
Verificación en dos pasos activada
¡Ha verificado su Paypal!
Desde
28 Mar 2014
Mensajes
588
Me parece que estas buscando subir archivos con php y guardar la ruta/nombre del archivo en mysql
HTML:
<form enctype="multipart/form-data" action="__URL__" method="POST">
    <!-- MAX_FILE_SIZE debe preceder al campo de entrada del fichero -->
    <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
    <!-- El nombre del elemento de entrada determina el nombre en el array $_FILES -->
    Enviar este fichero: <input name="fichero_usuario" type="file" />
    <input type="submit" value="Enviar fichero" /> </form>

PHP:
<?php
$dir_subida = '/var/www/uploads/';
$fichero_subido = $dir_subida . basename($_FILES['fichero_usuario']['name']);
if (move_uploaded_file($_FILES['fichero_usuario']['tmp_name'], $fichero_subido))
    echo "El fichero es válido y se subió con éxito, puedes guarda su nombre o la ruta del archivo.";
?>

PHP: Subida con el metodo POST - Manual

Suerte :)
 

colobaggins

Beta
Verificación en dos pasos activada
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
11 Mar 2014
Mensajes
87
Amigo
En mysql sólo vas a poder guardar el nombre del archivo, y algún otro dato que te interese (por ejemplo el tipo).

Con PHP podes subir el archivo al servidor o guardarlo en alguna carpeta.

Luego para mostrarlo, usas los datos guardados en mysql (ruta donde lo guardaste )

Hay muchos tutoriales por ahí.

Saludos !!
 

Alberth leiva

No recomendado
Verificación en dos pasos desactivada
Desde
12 Jul 2018
Mensajes
256
eso mismo pensé yo, que querías era guardar la ruta no el archivo completo :eek:josabiertos: debes explicarte mejor
 

MiguelixT

Gamma
Programador
Verificación en dos pasos desactivada
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
26 Feb 2019
Mensajes
210
Por favor, ten en cuenta 📝 que si deseas hacer un trato 🤝 con este usuario, está baneado 🔒.
Si puedes buscar en internet
 

PatrickV

Beta
Programador
Verificación en dos pasos desactivada
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
21 Ene 2013
Mensajes
80
No puedes subir archivos "de php a mysql", a no ser que quieras guardar los archivos en la base de datos codificados en base64, que no creo que sea lo que quieras.

Sí se puede, es un campo tipo BLOB. Ahora poder hacer y deber hacer son dos cosas distintas.
 

¡Regístrate y comienza a ganar!

Beneficios

  • Gana dinero por participar
  • Gana dinero por recomendarnos
  • Descubre ofertas de empleo diariamente
  • Negocios seguros
  • ¡Información premium y más!

Acceder

¿Ya tienes una cuenta? Accede aquí

Arriba