json_encode格式化 - froala

时间:2016-03-30 18:14:47

标签: php image froala

我正在使用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回答说“某事”出了问题而且图像没有出现在编辑器中。

可能是因为图片网址周围有双引号吗?

1 个答案:

答案 0 :(得分:0)

解决方案很简单:问题是:

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

它不喜欢相对路径,因此将其改为:

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

或者

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

做了诀窍:))