【问题标题】:json_encode formatting - froalajson_encode 格式化 - froala
【发布时间】:2016-03-30 18:14:46
【问题描述】:

我正在使用 Froalo 进行文本编辑,但我无法正常上传图片。在本地主机上测试。

文档说

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 和:

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

这一切看起来都很好,但 froala 回答说“某事”出了问题,图像没有出现在编辑器中。

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

【问题讨论】:

  • JSON 从不返回任何单引号字符串。它们必须在双引号中。但是,json_encode() 可以自动处理。

标签: php image froala


【解决方案1】:

解决方案非常简单:问题是这样的:

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

它不喜欢相对路径,所以将其更改为:

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

或者这个

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

成功了 :)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-10
    • 2023-04-09
    • 1970-01-01
    • 2015-08-20
    • 1970-01-01
    • 2019-01-26
    • 1970-01-01
    相关资源
    最近更新 更多