toritoesinocente

subir imagen

Sep 26th, 2020 (edited)
373
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.56 KB | None | 0 0
  1. <script>
  2. /* añadir un setup en tinymce...
  3. * lee de <input type="file" id="archivos" name="archivos[]" class="d-none" accept="image/*" />
  4. */
  5.  
  6.                //images_upload_url: 'edit.uploader.php',
  7.                //automatic_uploads:true,
  8.                //images_upload_credentials: true,
  9.                content_css : "/edit.estilo.css?" + new Date().getTime(),
  10.                setup: function (editor) {
  11.                      editor.ui.registry.addButton('KBD', { text: 'KBD', onAction: function (_) { editor.insertContent(' <kbd>ABC</kbd> '); } });
  12.                      editor.ui.registry.addButton('foto', { text: 'Fotos', onAction: function (_) {
  13.                               $($("input[type=file]")).trigger('click');
  14.                               $($("input[type=file]")).on("change",function() {
  15.                                     var input = $("input[type=file]");
  16.                                     var files = input[0].files;
  17.                                     console.log(files);
  18.                                     var data = new FormData();
  19.                                     for(var i=0;i<files.length;i++) {
  20.                                           var file = files[i];
  21.                                           data.append('archivos['+i+']',file,file.name)
  22.                                           console.log("filename => "+file.name);
  23.                                     }
  24.                                     console.log(data);
  25.                                     fetch("/edit.upload.php", { method: 'POST', body: data, })
  26.                                     .then((response) => response.json())
  27.                                     .then((result) => {
  28.                                           console.log('Success:', result);
  29.                                           for(n=0;n<result.files.length;n++) {
  30.                                                 editor.insertContent('<p><img src="'+result.files[n].file+'" width="'+result.files[n].tamano[0]+'" height="'+result.files[n].tamano[1]+'" alt="'+result.files[n].filename+'" /></p>');
  31.                                           }
  32.                                        }).catch((error) => {
  33.                                           console.error('Error:', error);
  34.                                     });
  35.                                     setTimeout(function() {
  36.                                           $("#archivos").val(null);
  37.                                     },300);
  38.                               });
  39.                         }
  40.                   });
  41.                },
  42. </script>
  43. <?php
  44.    /* edit.upload.php, el que recibe */
  45. <?php
  46.    /*
  47.    *  recibe archivos para su almacenamiento (imagenes)
  48.    * @toro 2020-07-13
  49.    */
  50.    $msg = new stdclass;
  51.    $msg->d = $_FILES;
  52.    if(is_uploaded_file($_FILES['archivos']['tmp_name'][0]) && substr($_FILES['archivos']['type'][0],0,5) == 'image') {
  53.       $path = __DIR__."/log/wp-content/uploads/";
  54.       $pato = $path.date('Y/m/');
  55.       if(!is_dir($pato)) mkdir($pato,0755,true); //almacenamiento
  56.       foreach($_FILES['archivos']['tmp_name'] AS $k=>$file) {
  57.          if(substr($_FILES['archivos']['type'][$k],0,5) == 'image') {
  58.             $ext = "jpg";
  59.             $name= strtolower(pathinfo($_FILES['archivos']['name'][$k], PATHINFO_FILENAME));
  60.             $filename= $name.".".$ext;
  61.             $filenames= $pato.$filename;
  62.             /*
  63.             //existe?, descomentar para tener archivos únicos
  64.             if(is_file($filenames)) { for($i=1;$i<=20;$i++) { $name = $name."_".$i; $filename = $name.".".$ext; $filenames= $pato.$filename; if(!is_file($filenames)) break; } }
  65.             */
  66.             $cmd = "identify ".$_FILES['archivos']['tmp_name'][$k];
  67.             $cmd = `$cmd`; $cmd = explode(" ",$cmd); $size=explode("x",$cmd[2]);
  68.             if($size[0]>1280) {
  69.                $cmd = "convert -thumbnail 1280 -quality 85 ".$_FILES['archivos']['tmp_name'][$k]." \"$filenames\"";
  70.                $cmd = `$cmd`;
  71.                //
  72.                $cmd = "identify ".$filenames;
  73.                $cmd = `$cmd`; $cmd = explode(" ",$cmd); $size=explode("x",$cmd[2]);
  74.             } else move_uploaded_file($_FILES['archivos']['tmp_name'][$k],$filenames);
  75.             $elf = new stdclass;
  76.             //$elf->name = $name; $elf->ext  = $ext;
  77.             $elf->filename = $filename;
  78.             $elf->file = "https://tar.mx/log/wp-content/uploads/".date('Y/m/').$filename;
  79.             $elf->tamano=$size;
  80.             //obtenemos tamaño
  81.             $msg->files[] = $elf;
  82.          }
  83.       }
  84.       //
  85.    } else $msg->error = 1;
  86.    echo json_encode($msg);
  87.  
Add Comment
Please, Sign In to add comment