File input bootstrap error

Iniciado por bgnumis, 21 Octubre 2017, 19:18 PM

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

bgnumis

Hola,

tengo el siguiente fichero index.php en el que utilizando bootstrap quiero conseguir subir ficheros a mi servidor:

Código (php) [Seleccionar]



<!DOCTYPE html>
<html lang="en">

<head>

    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="">
    <meta name="author" content="">


<link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
<link rel="icon" href="img/favicon.png" type="image/x-icon">

<!-- Bootstrap Core CSS -->

<link href="https://fonts.googleapis.com/css?family=Didact+Gothic" rel="stylesheet">

<!-- Estilos personalizados -->
<link href="css/bootstrap.css" rel="stylesheet">

<link href="css/bootstrap.min.css" rel="stylesheet">
        <link href="css/fileinput.css" media="all" rel="stylesheet" type="text/css" />
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
        <script src="js/fileinput.min.js" type="text/javascript"></script>


</head>

<body>








        <hr>




<input id="archivos" name="imagenes[]" type="file" multiple=true class="file-loading">   


 
   

        <!-- Footer -->
     



    <!-- /.container -->


</body>

<?php   
  $directory 
"imagenes_/";      
  
$images glob($directory "*.*");
  
?>

 


<script>
  $("#archivos").fileinput({
  uploadUrl: "upload.php",
    uploadAsync: false,
    minFileCount: 1,
    maxFileCount: 20,
  showUpload: true,
  showRemove: true,
  initialPreview: [
  <?php foreach($images as $image){?>
    "<img src='<?php echo $image?>' height='120px' class='file-preview-image'>",
  <?php ?>],
    initialPreviewConfig: [<?php foreach($images as $image){ $infoImagenes=explode("/",$image);?>
  {caption: "<?php echo $infoImagenes[1];?>",  height: "120px", url: "borrar.php", key:"<?php echo $infoImagenes[1];?>"},
  <?php ?>]
  }).on("filebatchselected", function(event, files) {
 
  $("#archivos").fileinput("upload");
 
  });
 
  </script>


</html>




La primera pregunta es que al darle upload para escoger las fotos, cuando las escojo no sale el "mini" de borrar.

La segunda es que una vez cargadas, las previsualizo y si le doy a upload, que te lleva a la página upload.php me da estos errores:


Notice: Undefined index: imagenes in C:\xampp\htdocs\bl\upload.php on line 4

Notice: Undefined variable: infoImagenesSubidas in C:\xampp\htdocs\bl\upload.php on line 32

Notice: Undefined variable: ImagenesSubidas in C:\xampp\htdocs\bl\upload.php on line 33
{"file_id":0,"overwriteInitial":true,"initialPreviewConfig":null,"initialPreview":null}
Notice: Undefined variable: ID in C:\xampp\htdocs\bl\upload.php on line 34


El fichero upload.php es el siguiente:

Código (php) [Seleccionar]



<?php 
$carpetaAdjunta
="imagenes_/";
// Contar envían por el plugin
$Imagenes count($_FILES['imagenes']['name']);

for(
$i 0$i $Imagenes$i++) {

// El nombre y nombre temporal del archivo que vamos para adjuntar
$nombreArchivo=$_FILES['imagenes']['name'][$i];
$nombreTemporal=$_FILES['imagenes']['tmp_name'][$i];

$rutaArchivo=$carpetaAdjunta.$nombreArchivo;




$pdo=new PDO("mysql06.servidoresdedicados.com:3307;dbname=bl_dbdd","bl_us","dd3plQv?12");
$statement $pdo->prepare("INSERT INTO  archivos(id,info,imagen) VALUES(NULL,:info,:texto);");
$statement->execute(array("info" => $_FILES['imagenes']['name'][$i],"texto" => file_get_contents($_FILES['imagenes']['tmp_name'][$i])));


    


move_uploaded_file($nombreTemporal,$rutaArchivo);

$infoImagenesSubidas[$i]=array("caption"=>"$nombreArchivo","height"=>"120px","url"=>"borrar.php");
$ImagenesSubidas[$i]="<img  height='120px'  src='$rutaArchivo' class='file-preview-image'>";

}

$arr = array("file_id"=>0,"overwriteInitial"=>true,"initialPreviewConfig"=>$infoImagenesSubidas,
 "initialPreview"=>$ImagenesSubidas);
echo 
json_encode($arr);print_r($ID);
?>







¿estoy poniendo bien el acceso PDO?

$pdo=new PDO("mysql06.servidoresdedicados.com:3307;dbname=bl_dbdd","bl_us","dd3plQv?12");

¿cómo se cambiaría por mysqli_connect?



El fichero borrar.php


Código (php) [Seleccionar]


<?php 
$carpetaAdjunta
="imagenes_/";

if(
$_SERVER['REQUEST_METHOD']=="DELETE"){

parse_str(file_get_contents("php://input"),$datosDELETE);

$key$datosDELETE['key'];

$pdo=new PDO("mysql06.servidoresdedicados.com:3307;dbname=bl_dbdd","bl_us","dd3plQv?12");
$statement $pdo->prepare("DELETE FROM archivos  WHERE id=:id");
$statement->execute(array("id" => $key));


//unlink($carpetaAdjunta.$key);

echo 0;
}

?>






Y el fichero view.php es:

Código (php) [Seleccionar]


<?php 

header('Content-Type: image/jpg');

if(isset($_GET['elid'])){


$pdo=new PDO("mysql06.servidoresdedicados.com:3307;dbname=bl_dbdd","bl_us","dd3plQv?12");

$statement=$pdo->prepare("SELECT * FROM archivos WHERE id=:id");

$statement->execute(array("id" => $_GET['elid']));

$results=$statement->fetchAll(PDO::FETCH_ASSOC);

print_r($results[0]['imagen']);
}


?>






A ver si me podéis ayudar.

Mira que llevo días dándole vueltas pero no consigo que funcione y me inserte las imágenes subidas a la bdd

Diabliyo

Ese código lo hiciste tu ?
Por la manera en que publicas el código y la forma de generar tus preguntas veo que necesitas primero aprender PHP, porque si alguien se atreve a bajar el código y correrlo  en localhost, sinceramente tiene un enorme corazón, porque la verdad lo mínimo que yo espero cuando voy ayudarle a alguien es que me de entender que a buscado realmente resolverlo y que sepa codear en PHP. Ya que si esa alma caritativa te hace los cambios, te generara un da~o mas haya de ayudarte a aprender.

Saludos !

bgnumis

No por supuesto no lo he hecho yo. Lo he descargado de la siguiente web:

https://github.com/Develoteca/ASESORIAS/tree/gh-pages/Ejercicios/5.-%20BootstrapFileupload%20y%20Mysql

Lamento si no lo he indicado.

He visto ese código y he tratado de adaptarlo a mis necesitadedes, sé "codear" como tú de llamas (¿existe ese vocablo en la RAE?) pero evidentemente tengo mil limitaciones (es obvio que las tengo porque sino no os pediría ayuda en este foro).

Sé subir imágenes a mi servidor, hay mil manuales, bien explicados pero son más "rudimentarios" y quería ver como rueda este pero de momento no lo he conseguido.

Si ayudarme es complicado, lo entiendo, pero vamos yo no soy de esos "tontos que se tienen por listos" solo solicito ayuda como otras veces, que pese a mis conocimientos limitados, me habéis ayudado mucho.

Dicho todo esto, muchas gracias por responder.

Si hay alguien que le gustaría ayudarme (lo merezca o no) o darme alguna indicación bien recibido y vaya por delante mi agradecimiento.

Saludos

PD: tal vez, con una pequeña indicación, del tipo lo que no entiendes es esto concreto, por eso los errores o otra del tipo "es imposible que te funcione por esto" hubiera sido más constructivo que decir, asentando cátedra no sabes PHP. pírate. Disculpas por si el comentario parece impertinente . Entiendo tu queja pero no la forma ni el modo. Sea como sea, muchas gracias.






Diabliyo

Lo que no entiendes es que estas queriendo volar cuando aun no aprendes a caminar, te recomiendo empieces con algo mas basico y vas aumentando el nivel, sino no vas a llegar a nada.

Y codear es un termino del ambito...

Saludos