Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将imageGetJson与fwrite一起在Redactor中使用_Php_Json - Fatal编程技术网

Php 将imageGetJson与fwrite一起在Redactor中使用

Php 将imageGetJson与fwrite一起在Redactor中使用,php,json,Php,Json,基本上,我试图完成的是使用编辑器redactor和函数imageGetJson从文件夹中获取上传图像的列表 我已经设法让fwrite在images.json文件中添加了一个数组。现在的问题是,为了渲染图像,redactor需要在输入周围加上括号 所以我的问题是,我如何得到数据周围的括号 到目前为止,我拥有的上传文件如下: // This is a simplified example, which doesn't cover security of uploaded images. // Th

基本上,我试图完成的是使用编辑器redactor和函数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

我找到了另一个解决方案:只需更改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));
希望这会有所帮助,现在还不算太晚;)

问候


史蒂文

谢谢你完成了任务:D