2016-03-30 2 views
1

Я использую Froalo для редактирования текста, но у меня возникают трудности с правильной загрузкой изображения. Тестирование на локальном хосте.json_encode форматирование - froala

В документации сказано, что

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,

  • файл получает загружены на сервер,
  • поджигатель говорит, что upload.php отвечает массив $ _FILES и:

    {ссылка: "../ фото/sama1.jpg"}

Это все кажется хорошо, но сюда ala отвечает, что «что-то» пошло не так, и изображения не появляются в редакторе.

Может ли это быть из-за двойных кавычек вокруг изображения?

+0

JSON никогда не возвращает ни одну строку с кавычками. Они должны быть в двойных кавычках. Однако 'json_encode()' может автоматически позаботиться об этом. –

+0

Спасибо Мунташир. – thiebo

ответ

0

Solution был мертв прост: проблема заключалась в следующем:

{link:"../photos/sama1.jpg"} 

Это не нравится относительный путь, чтобы изменить его либо на это:

{link:"/var/www/html/blabla/photos/sama1.jpg"} 

или это

{link:"/photos/sama1.jpg"} 

сделал трюк :)

Смежные вопросы