【发布时间】: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()可以自动处理。