在Redactor中使用带有fwrite的imageGetJson

时间:2012-12-03 21:05:59

标签: php json

基本上我想要完成的是使用带有以下功能的编辑器编辑器从文件夹中获取上传图像的列表:imageGetJson

我设法让fwrite在images.json文件中添加一个数组。现在的问题是,redactor需要在输入周围使用括号来呈现图像。

所以我的问题是如何获得数据括号?

我到目前为止的上传文件是:

// This is a simplified example, which doesn't cover security of uploaded images. 
// This example just demonstrate the logic behind the process. 


// files storage folder
$dir = '../img/uploads/';

$_FILES['file']['type'] = strtolower($_FILES['file']['type']);

if ($_FILES['file']['type'] == 'image/png' 
|| $_FILES['file']['type'] == 'image/jpg' 
|| $_FILES['file']['type'] == 'image/gif' 
|| $_FILES['file']['type'] == 'image/jpeg'
|| $_FILES['file']['type'] == 'image/pjpeg')
{   
    // setting file's mysterious name
    $filename = md5(date('YmdHis')).'.jpg';
    $file = $dir.$filename;

    // copying
    copy($_FILES['file']['tmp_name'], $file);

    // displaying file    
    $array = array(
        'filelink' => '/img/uploads/'.$filename,
        'thumb' => '/img/uploads/'.$filename,
        'image' => '/img/uploads/'.$filename,
    );



    echo stripslashes(json_encode($array));

    $json = stripslashes(json_encode($array)), "\n";
    $files = fopen('../img/uploads/images.json','a+');
    fwrite($files, $json . "\n");
    fclose($files);
}

我创建了一个包含文件位置的数组,并将其写入文件images.json

我需要它的方式就像这样

[
    {"filelink":"image.jpg","thumb":"image.jpg","image":"image.jpg"}
    {"filelink":"image.jpg","thumb":"image.jpg","image":"image.jpg"}
    {"filelink":"image.jpg","thumb":"image.jpg","image":"image.jpg"}
    {"filelink":"image.jpg","thumb":"image.jpg","image":"image.jpg"}
]

只有这样添加:

[]
{"filelink":"image.jpg","thumb":"image.jpg","image":"image.jpg"}
{"filelink":"image.jpg","thumb":"image.jpg","image":"image.jpg"}
{"filelink":"image.jpg","thumb":"image.jpg","image":"image.jpg"}

希望有人可以帮助我,因为我无法弄明白。

提前致谢:D

1 个答案:

答案 0 :(得分:1)

我找到了另一种解决方案:只需在php文件data.php中更改data.json,该文件读取要列出的目录,然后转换为json和echo。

这是我现在使用的(演示版,导致我的paypal尚未运行) (路径应根据您的设置设置)

在加载编辑器的页面中:

imageGetJson:'redactor901trial / demo / json / data.php'

$path = 'redactor901trial/demo/json/';
$upload_dir = 'images/';

$handle = opendir($upload_dir);

while ($file = readdir($handle)) {
   if(!is_dir($upload_dir.$file) && !is_link($upload_dir.$file)) {


    $docs[] = $file;
   }
}

sort($docs);

foreach($docs as $key=>$file){
    $array[] = array(
            'filelink' => $path.$upload_dir.$file,
            'thumb' => $path.$upload_dir.$file,
            'image' => $path.$upload_dir.$file,
            'folder' => 'Folder 5'
        ); 
        }   
echo stripslashes(json_encode($array));

希望这有所帮助,现在还为时不晚;)

此致

史蒂芬