Я использую Froalo для редактирования текста, но у меня возникают трудности с правильной загрузкой изображений. Тестирование на localhost.
В документации сказано, что
imageUploadURL: '/upload_image.php',
должен вернуть строку json, сформированную так:
{ link: 'path/to/image.jpg' }
мой javascript выглядит так:
$(function() {
$('#edit').froalaEditor({
language:'fr',
imageUploadURL: 'upload.php'
})
});
мой upload.php выглядит так:
var_dump($_FILES);
require('clean.php'); // removes french special characters
$image = clean($_FILES['file']['name']);
$uploaddir = '../photos/';
$uploadfile = $uploaddir . basename($image);
$retour = ['link'=> $uploadfile];
$b = json_encode($retour);
$array_final = preg_replace('/"([a-zA-Z]+[a-zA-Z0-9_]*)":/','$1:',$b);
if( move_uploaded_file($_FILES['file']['tmp_name'],$uploadfile)) {
echo stripslashes($array_final);
} else {
echo "Lo kol kakh tov...";
}
Когда я запускаю это из текстового редактора через froalaEditor,
firebug говорит, что upload.php
отвечает на массив $ _FILES и:
{Ссылка: «../ фото / sama1.jpg»}
Все это кажется хорошим, но froala отвечает, что «что-то» пошло не так, и изображения не отображаются в редакторе.
Может ли это быть из-за двойных кавычек вокруг URL-адреса изображения?
Решение было очень простым: проблема была в следующем:
{link:"../photos/sama1.jpg"}
Ему не понравился относительный путь, поэтому изменил его на следующее:
{link:"/var/www/html/blabla/photos/sama1.jpg"}
или это
{link:"/photos/sama1.jpg"}
сделал свое дело 🙂
Других решений пока нет …