TinyMCE Absolute URL содержит имя файла скрипта - PullRequest
0 голосов
/ 21 ноября 2018

У меня проблема с получением правильного абсолютного URL-адреса при загрузке файла в TinyMCE.

Когда я загружаю файл, URL-адрес, отображаемый в поле «Источник», содержит имя файла страницы, код которойвызывается из: (create_email.php)

Как это: https://mydomain/admin/email_send/create_email.phpimages/62b39_nophoto.jpg

Вместо: https://mydomain/admin/email_send/images/62b39_nophoto.jpg

enter image description here

Изображение загружается правильно, а имя сохраненного файла правильное.Только переданный URL неверен.

Код инициализации TinyMCE:

   tinymce.init({
      selector: 'textarea',
      height: 200,
      menubar: true,

relative_urls : false,
remove_script_host : false, 
document_base_url : "https://mydomain/admin/email_send/images/",    

        images_upload_handler: function (blobInfo, success, failure) {
        var xhr, formData;

        xhr = new XMLHttpRequest();
        xhr.withCredentials = false;
        xhr.open('POST', 'uploader2.php');

        xhr.onload = function() {
          var json; 

          if (xhr.status != 200) {
            failure('HTTP Error: ' + xhr.status);
            return;
          }

          console.log(xhr.response);

          success(xhr.response);
        };

        formData = new FormData();
        formData.append('file', blobInfo.blob(), blobInfo.filename());

        xhr.send(formData);
   },   

Код загрузчика:

<?php 
      $ds = DIRECTORY_SEPARATOR;
      $storeFolder = 'images';
      if (!empty($_FILES)) 
      {
             $tempFile = $_FILES['file']['tmp_name'];
             $targetPath = dirname( __FILE__ ) . $ds. $storeFolder . $ds;
             $file_name = substr(md5(rand(1, 213213212)), 1, 5) . "_" . str_replace(array('\'', '"', ' ', '`'), '_', $_FILES['file']['name']);
             $targetFile =  $targetPath. $file_name;
             if(move_uploaded_file($tempFile,$targetFile)){
                   die( $_SERVER['HTTP_REFERER']. $storeFolder . "/" . $file_name );
              }else{
                   die('Fail');
              }
       }
?>


  plugins: [
    'advlist autolink lists link image imagetools charmap print preview 
anchor textcolor',
    'searchreplace visualblocks code fullscreen',
    'insertdatetime media table contextmenu paste code help wordcount'
  ],
  toolbar: 'insert | undo redo |  formatselect | bold italic backcolor  | 
alignleft aligncenter alignright alignjustify | bullist numlist outdent 
indent | removeformat | help',
  content_css: [
    '//fonts.googleapis.com/css?family=Lato:300,300i,400,400i',
    '//www.tinymce.com/css/codepen.min.css']
});

1 Ответ

0 голосов
/ 21 ноября 2018

Исправлена ​​проблема.

Заменено: die ( $ _ SERVER ['HTTP_REFERER'] * . $ StoreFolder. "/". $ File_name);

С: die ("http://mydomain/admin/email_send/". $ StoreFolder. "/". $ File_name);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...