Может всётаки ктонибудь поможет а то я уже весь мозг сломал.
Я почти уверен что человек знающий php потратит на это 10 минут а я уже неделю мучаюсь.
Итак к чему я пришел.
Я так понял что загрузка файла реализована php + jQuery AJAX
Вот код
/**
* @package Helix3 Framework
* @author JoomShaper http://www.joomshaper.com
* [member=126442]copyright[/member] Copyright (c) 2010 - 2017 JoomShaper
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or Later
*/
jQuery(function($) {
$('.sp-image-field').each(function(index, el) {
var $field = $(el);
// Upload form
$field.find('.btn-sp-image-upload').on('click', function(event) {
event.preventDefault();
$field.find('.sp-image-upload').click();
});
//Upload
$field.find(".sp-image-upload").on('change', (function(e) {
e.preventDefault();
var $this = $(this);
var file = $(this).prop('files')[0];
var data = new FormData();
data.append('option', 'com_ajax');
data.append('plugin', 'helix3');
data.append('action', 'upload_image');
data.append('imageonly', false);
data.append('format', 'json');
if (file.type.match(/image.*/)) {
data.append('image', file);
$.ajax({
type: "POST",
data: data,
contentType: false,
cache: false,
processData:false,
beforeSend: function() {
$this.prop('disabled', true);
$field.find('.btn-sp-image-upload').attr('disabled', 'disabled');
var loader = $('<div class="sp-image-item-loader"><i class="fa fa-circle-o-notch fa-spin"></i></div>');
$field.find('.sp-image-upload-wrapper').html(loader)
},
success: function(response)
{
var data = $.parseJSON(response);
if(data.status) {
$field.find('.sp-image-upload-wrapper').empty().html(data.output);
} else {
$field.find('.sp-image-upload-wrapper').empty();
alert(data.output);
}
var $image = $field.find('.sp-image-upload-wrapper').find('>img');
if($image.length) {
$field.find('.btn-sp-image-upload').addClass('hide');
$field.find('.btn-sp-image-remove').removeClass('hide');
$field.find('.form-field-spimage').val($image.data('src'));
} else {
$field.find('.btn-sp-image-upload').removeClass('hide');
$field.find('.btn-sp-image-remove').addClass('hide');
$field.find('.form-field-spimage').val('');
}
$this.val('');
$this.prop('disabled', false);
$field.find('.btn-sp-image-upload').removeAttr('disabled');
},
error: function()
{
$field.find('.sp-image-upload-wrapper').empty();
$this.val('');
}
});
}
$this.val('');
}));
});
// Delete Image
$(document).on('click', '.btn-sp-image-remove', function(event) {
event.preventDefault();
var $this = $(this);
var $parent = $this.closest('.sp-image-field');
if (confirm("You are about to permanently delete this item. 'Cancel' to stop, 'OK' to delete.") == true) {
var request = {
'option' : 'com_ajax',
'plugin' : 'helix3',
'action' : 'remove_image',
'src' : $parent.find('.sp-image-upload-wrapper').find('>img').data('src'),
'format' : 'json'
};
$.ajax({
type: "POST",
data : request,
success: function(response)
{
var data = $.parseJSON(response);
if(data.status) {
$parent.find('.sp-image-upload-wrapper').empty();
$parent.find('.btn-sp-image-upload').removeClass('hide');
$parent.find('.btn-sp-image-remove').addClass('hide');
$parent.find('.form-field-spimage').val('');
} else {
alert(data.output);
}
}
});
}
});
});
Но jQuery вродебы на имя файла не влияет он вроде как "технологии загрузки"
А то что влияет на имя прописывается в php
И как не крути в том самом файле код которого я вставлял в предыдущем сообщении
Если ещё точнее то вот этот код (я так думаю) отвечает за имя
if($this->value) {
$data_src = $this->value;
$src = JURI::root(true). '/' . $data_src;
$basename = basename($data_src);
$thumbnail = JPATH_ROOT . '/' . dirname($data_src). '/' . JFile::stripExt($basename). '_thumbnail.' . JFile::getExt($basename);
if(file_exists($thumbnail)) {
$src = JURI::root(true). '/' . dirname($data_src). '/' . JFile::stripExt($basename). '_thumbnail.' . JFile::getExt($basename);
}
$output .= '<img src="'. $src .'" data-src="' . $data_src . '" alt="">';
}
Теперь немного аналитики
есть файл image.jpg загружаем его
автоматом создаётся папка: сайт\images\2018\09\17
и в ней появляется 2 изображения
image.jpg и image_thumbnail.jpg
повторная загрузка тогоже самого изображения дает такие имена
image1.jpg и image1_thumbnail.jpg и так далее 2 3 4.
Теперь есть файл изображение.jpg загружаем его
он попадает в туже папку: сайт\images\2018\09\17
в самой папке имя файла выглядит так гташка.jpg и гташка_thumbnail.jpg
на сайте в HTML коде это выглядит так <img src="/images/2018/09/17/изображение.jpg" alt="" itemprop="image">
и соответственно не отображается.
Правда в момент написания этого сообщения у меня в голове промелькнула мысль:
"У меня же сайт на локальном сервере, а сервер этот denwer, a php на нём же старой версии, а вдруг в этом косяк."Ну и захожу я на тестовый хостинг загружаю там изображение с русским именем и всё отлично загрузилось, имя присвоилось такое /images/2018/09/17/1.jpg
И походу я кароче вообще зря поднял весь кипиш.
Вопрос снят.