У меня проблема с получением правильного абсолютного 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
Изображение загружается правильно, а имя сохраненного файла правильное.Только переданный 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']
});