Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.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
Javascript TinyMCE图像上传_Javascript_Php_Tinymce_Image Upload - Fatal编程技术网

Javascript TinyMCE图像上传

Javascript TinyMCE图像上传,javascript,php,tinymce,image-upload,Javascript,Php,Tinymce,Image Upload,由于TinyMCE 4.x,TinyMCE有一个内置的图像上传,但我无法让它工作 我的代码: tinymce.init({ selector: "textarea", plugins: [ "image","code","autoresize","media","link","imagetools" ], link_class_list: [

由于TinyMCE 4.x,TinyMCE有一个内置的图像上传,但我无法让它工作

我的代码:

tinymce.init({    
            selector: "textarea",
            plugins: [
                "image","code","autoresize","media","link","imagetools"
            ],
            link_class_list: [
                {title: 'None', value: ''},
                {title: 'PDF', value: 'pdf'}
            ],
            default_link_target: "_blank",
            images_upload_url: "uploadImage.php",
            toolbar1: "insertfile undo | redo | styleselect | bold | italic | alignleft | aligncenter | alignright | alignjustify | bullist | numlist | outdent | indent | link | image | media | code",
            toolbar2: "",
            menubar : false,
            statusbar : false,
            convert_urls: false,
            content_css: 'editor-style.css',
            width: 800
        });
“图片上传地址”一行负责图片上传。此文件附带的php文件如下所示:

 $imageFolder = "../images/tinymce";

  reset ($_FILES);
  $temp = current($_FILES);
  if (is_uploaded_file($temp['tmp_name'])){
    if (isset($_SERVER['HTTP_ORIGIN'])) {
        header('Access-Control-Allow-Origin: ' . $_SERVER['HTTP_ORIGIN']);
    }


    if (preg_match("/([^\w\s\d\-_~,;:\[\]\(\).])|([\.]{2,})/", $temp['name'])) {
        header("HTTP/1.0 500 Invalid file name.");
        return;
    }


    if (!in_array(strtolower(pathinfo($temp['name'], PATHINFO_EXTENSION)), array("gif", "jpg", "png"))) {
        header("HTTP/1.0 500 Invalid extension.");
        return;
    }

    $filetowrite = $imageFolder . $temp['name'];
    move_uploaded_file($temp['tmp_name'], $filetowrite);

    echo json_encode(array('location' => $filetowrite));
  } else {
    header("HTTP/1.0 500 Server Error");
  }

我错过什么了吗?在编辑器中的哪里可以找到“上载图像”按钮(我希望它出现在“插入/编辑图像”窗口中)。是否有工作示例?

我使用tinymce 4以下是我如何上传图像:

Timmyce配置:

file_browser_callback: function(field_name, url, type, win) {
if(type=='image') $('#file_name').click(); $('#field_name').val(field_name);
}
见:

表格:

<form enctype="multipart/form-data" id="form_file" style="width:0px; height:0px; overflow:hidden">
<input id="file_name" name="file" type="file" />
</form>
<input type="hidden" id="field_name" value="" />
}))

php:


嗨,杰伦,我也有这个问题(没有上传图标)。我相信TinyMCE从4.2开始就有这种能力,而不是4.x。你工作过吗?如果是这样的话,你介意发布一个描述解决方案的答案吗?嗨,Swisher Sweet,不,我还没有让它工作,我创建了一个单独的媒体库,用户可以上传文件,目前运行良好,但我想稍后再深入研究。
$('#file_name').change(function(){
var field_name = $('#field_name').val()
document.getElementById(field_name).value='';
var file = this.files[0];
var name = file.name;
var size = file.size;
var type = file.type;
//Your validation
var field_name = $('#field_name').val()
var type = type.substring(0, 5);
if(type=='image') { 

    var formData = new FormData($('#form_file')[0]);

    $.ajax({
        url: "upload/upload.php",
        type: "POST",
        data: formData,
        async: false,
        success: function (msg) {
            document.getElementById(field_name).value = 'http://www.domain.fr/upload/'+name;        
        },
        cache: false,
        contentType: false,
        processData: false
    });

} else {
    alert('Le fichier doit etre une image') 
}
header('Access-Control-Allow-Origin: *');


if($_FILES['file']['type'] != "") {
    $source = $_FILES['file']['name'];
    $ext = pathinfo($path, PATHINFO_EXTENSION);
    if(move_uploaded_file ($_FILES['file']['tmp_name'], $source)) { 
        echo $source ;
    }   
}