Aca el codigo
https://www.dropbox.com/s/auduh4cvbwbji9u/subir%20archivos%20a%20un%20servidor.rar?dl=0
La verdad es que es muy bueno y funciona y todo.
----------------------------------------------------------------------------------------------------
Pero yo quisiera saber si se puede registrar esos archivos en una tabla en mysql(la ruta del archivo). Buscando y buscando encontré la forma de registrar pero solo 1 archivo:
Aca esta el codigo:
-tabla-
create table imagenes(
id int not null primary key auto_increment,
nombre text not null,
email text not null,
edad int not null,
ruta text not null
)
-formulario-
<form id="formulario" action="php/subir.php" method="POST" enctype="multipart/form-data">
<label > Nombre </label><input type="text" name="nombre" required/><br>
<label> EMail </label> <input type="email" name="email" required/><br>
<label> Edad </label><input type="text" name="edad" required/><br>
label for="imagen">Imagen:</label><input type="file" name="hugo" id="imagen" /><br>
<input type="submit" name="subir" value="Subir"/>
</form>
myDBC.php (donde estan las funciones)
<?php
class myDBC{
public $mysqli=null;
public function __construct(){
include_once 'conexion.php';
$this->mysqli = new mysqli($servername, $username, $password, $dbname);
if ($this->mysqli->connect_errno){
echo "Error MySQLi: (" . $this->mysqli->connect_errno.") " . $this->mysqli->connect_error;
exit();
}
$this->mysqli->set_charset("utf8");
}
public function subirTodo($nombre, $email, $edad, $ruta){
$q = "INSERT INTO imagenes (nombre, email, edad, ruta) VALUES ('$nombre', '$email', '$edad', '$ruta')";
$result = $this->mysqli->query($q);
if($result){ //Si resultado es true, se agregó correctamente
echo'<script type="text/javascript">
alert("Agregado Exitosamente a la BD");
window.location="http://localhost/index.php"
</script>';
}
else{ //Si hubo error al insertar, se avisa
echo'<script type="text/javascript">
alert("Chispas... Algo anda mal");
window.location="http://localhost/ndex.php"
</script>';
}
}
public function seleccionar_images(){
$q = "select ruta from imagenes";
$result = $this->mysqli->query($q);
//Array asociativo que contendrá los datos
$valores = array();
//Si no hay resultados
//Se avisa al usuario y se redirige al index de la aplicación
if( $result->num_rows == 0)
{
echo'<script type="text/javascript">
alert("Ningun registro");
</script>';
return false;
}
//En otro caso, se recibe la información y se
//se regresa un array con los datos de la consulta
else{
while($row = mysqli_fetch_assoc($result)){
//Se agrega cada valor en el array
array_push($valores, $row);
}
}
//Regresa array asociativo
return $valores;
}
}
?>
subir.php
<?php
include('myDBC.php');
//Definir Tamaño de archivo 5MB
define('LIMITE', 5000);
//Definir arreglo con extensiones permitidas usar serialize
define('ARREGLO', serialize( array('image/jpg', 'image/jpeg', 'image/gif','image/png')));
$PERMITIDOS = unserialize(ARREGLO); //Usar unserialize para obtener el arreglo
$subirInformacion = new myDBC(); //Objeto para conexión a BD
if ($_FILES["hugo"]["error"] > 0){
echo'<script type="text/javascript">
alert("Error de FILE Selecciona un Archivo");
window.location="http://localhost/index.php"
</script>';
}
else {
if (in_array($_FILES['hugo']['type'], $PERMITIDOS) && $_FILES['hugo']['size'] <= LIMITE * 1024){
//Desde subir.php a la carpeta imagenes hay que salir un directorio
//../imagenes/nombreDeArchivo
$rutaEnServidor = "../imagenes/" . $_FILES['hugo']['name'];
//Desde index.php, la carpeta imagenes está en imagenes/nombreDeArchivo
$ruta = "imagenes/" . $_FILES['hugo']['name'];
if (!file_exists($ruta)){
$resultado = move_uploaded_file($_FILES["hugo"]["tmp_name"], $rutaEnServidor);
if ($resultado){
$name = $_POST['nombre'];
$ema = $_POST['email'];
$ed = $_POST['edad'];
$subirInformacion->subirTodo($name, $ema, $ed, $ruta);
}else {
echo'<script type="text/javascript">
alert("Ocurrió un error al mover archivo");
window.location="http://localhost/index.php"
</script>';
}
}
}
}
?>
Bueno, la idea era unir la subida de 4 archivos al servidor con el registro a una tabla, osea hacer un registro de 4 imagenes con uno que otro campo más en una tabla guardando la ruta de cada archivo. La verdad es que me sale cada error jaja, Si alguien tiene tiempo libre y me pueda ayudar con este problema.
Gracias de antemano.
Saludos
![Afirmando](http://static.forosdelweb.com/fdwtheme/images/smilies/afirmar.gif)