百度UEditor编辑器远程图片上传失败

  远程图片上传是个很有意思的东西,比如你从别的网站复制一段文件,如果文字中带有图片,编辑器会自动将图片提取出来,进行上传,从而不用担心远程图片失效后,自己本地也无法浏览。

  通过检查,发现远程图片上传的操作页面是:getRemoteImage.php 。打开后我们先配置 savePath ,因为不同用户使用,需要存放到不同的目录,以免混乱,也方便管理

修改后代码:

 代码如下 复制代码
?//远程抓取图片配置
if(isset($_SESSION['admin'])){
    $myPath = 'http:///../dofiles/ueditorUpload/admin/'.$_SESSION['admin']['id'].'/';
}else if(isset($_SESSION['user'])){
    $myPath = 'http:///../dofiles/ueditorUpload/user/'.$_SESSION['user']['id'].'/';
}else{
    $myPath = 'http:///../dofiles/ueditorUpload/unkonw/';
}
$config = array(
    "savePath" => $myPath ,            //保存路径
    "allowFiles" => array( ".gif" , ".png" , ".jpg" , ".jpeg" , ".bmp" ) , //文件允许格式
    "maxSize" => 3000                    //文件大小限制,单位KB
);

  然后问题就来了,UEditor 里,文件、图片上传都是通过 Uploader.class.php 这个php类操作的,但远程图片上传则不是。

  我在85行发现,创建路径的时候,单纯的使用了mkdir进行来创建,因为mkdir不能创建带有层级的路径,所以导致在路径如果不存在的情况下,复制远程图片上传失败。

  知道问题处理起来就容易了,我先写一个循环创建文件目录的函数(因为之前写过,这里就直接拿来用了):

?//连续创建带层级的文件夹

 代码如下 复制代码
function recursive_mkdir($folder){
    $folder = preg_split( "/[\\/]/" , $folder );
    $mkfolder = '';
    for($i=0; isset($folder[$i]); $i++){
        if(!strlen(trim($folder[$i]))){
            continue;
        }
        $mkfolder .= $folder[$i];
        if(!is_dir($mkfolder)){
            mkdir("$mkfolder",0777);
        }
        $mkfolder .= DIRECTORY_SEPARATOR;
    }
}

然后修改85行:

?//创建保存位置

 代码如下 复制代码
$savePath = $config[ 'savePath' ];
if ( !file_exists( $savePath ) ) {
    recursive_mkdir($savePath);
    //mkdir( "$savePath" , 0777 );
}
时间: 2024-11-24 04:01:32

百度UEditor编辑器远程图片上传失败的相关文章

关于UEditor编辑器远程图片上传失败的解决办法_php实例

远程图片上传是个很有意思的东西,比如你从别的网站复制一段文件,如果文字中带有图片,编辑器会自动将图片提取出来,进行上传,从而不用担心远程图片失效后,自己本地也无法浏览. 通过检查,发现远程图片上传的操作页面是:getRemoteImage.php .打开后我们先配置 savePath ,因为不同用户使用,需要存放到不同的目录,以免混乱,也方便管理 修改后代码: 复制代码 代码如下: //远程抓取图片配置 if(isset($_SESSION['admin'])){ $myPath = 'http

百度ueditor怎么修改图片上传路径(可以存储在单独的图片服务器么,不存储在项目根目录下)?

问题描述 百度ueditor怎么修改图片上传路径(可以存储在单独的图片服务器么,不存储在项目根目录下)? 百度ueditor怎么修改图片上传路径(可以存储在单独的图片服务器么,不存储在项目根目录下)? 解决方案 当然可以,找到保存文件的地方,路径参数改为局域网共享那种地址 192.168.1.xxxxxxx也可以保存,要记得给everyone写入权限 然后图片服务器也要安装iis,配置一个二级域名用来加载图片,修改ueditor image插件js的文件中返回的图片路径为二级域名的路径 解决方案

PHP结合Ueditor并修改图片上传路径_php技巧

前言 在使用UEditor编辑器时,一般我们都是需要修改默认的图片上传路径的,下面是我整理好的修改位置和方法供大家参考. 操作 Ueditor PHP版本本身自带了一套上传程序,我们可以在此基础中,找到配置文件修改它.配置文件位置: ueditor/php/config.json 内容如下: /* 前后端通信相关的配置,注释只允许使用多行方式 */ { /* 上传图片配置项 */ "imageActionName": "uploadimage", /* 执行上传图片

扩展FCKeditor编辑器的图片上传功能

在我使用的个人博客(Mr.d's Time)中,后台的文章发布使用的是FCKeditor编辑器,在FCKeditor编辑器中通过简单的配置就能使用已提 供的图片上传的功能.但没有提供对上传后的图片进行管理,从而无法满足我日后的各种应用场景,比如:使用已上传的文件.删除已上传的 文件等等,以至于在写博时,遇到"在文章中要插入图片"这样的应用让我的操作很繁琐(上传图片---记住文件件 ---手工写Url),因此无 法让我享受到在写博时的快感.从而让我有了扩展FCKeditor编辑器图片上传

UEditor 编辑器跨域上传解决方法_网页编辑器

解决的方法: 1.在 ueditor\dialogs\internal.js 加入 document.domain = '根域名'; 2.在当前页面同样指定根域名: 复制代码 代码如下: <script type="text/javascript">    document.domain = "根域名";</script> 这样在 chrome.firefox 下没有问题,但在 ie 下还需要简单修改下 UEditor,在 editor.js

UEditor 编辑器跨域上传文件实现方法

解决的方法: 1.在 ueditordialogsinternal.js 加入 document.domain = '根域名'; 2.在当前页面同样指定根域名:  代码如下 复制代码 <script type="text/javascript">     document.domain = "根域名"; </script> 这样在 chrome.firefox 下没有问题,但在 ie 下还需要简单修改下 UEditor,在 editor.js

百度 ueditor 编辑器上传图片失真如何解决

使用百度 ueditor 编辑器发现,上传大一点的图片会失真,刚开始还以为是PHP做了图片压缩,后来仔细看了一些配置参数说明,发现是编辑器自带有个自动压缩图片的功能,而且压缩后的图片失真了! 决定去掉这个压缩功能,如果非得要压缩,那就交给服务端PHP来处理吧! 找到配置文件:ueditor/php/config.json 把 imageCompressEnable 设置为 false 即可! ThinkPHP中用百度编辑器Ueditor上传图片路径前后多了俩'/22%'的问题! 我用百度编辑器,

yii2整合百度编辑器umeditor及umeditor图片上传问题的解决办法_php实例

我们接下来就来聊聊Yii2框架是如何整合百度编辑器umeditor的. umeditor是啥,我只听过ueditor,你这umeditor是不是盗版的东东喃?umeditor呢,说白了就是mini版的ueditor,按照百度官方说法,其实就是编辑器中的"短软小",但是功能俱全.咳咳,咱们回归正题. 首先勒,咱们先去官网下载一份mini版的ueditor umeditor,注意哦,是um editor. 下载下来解压放到项目根目录下面的 /css目录下 命名为umeditor,具体位置各

as 3.0图片上传预览本地图片

需要Flash Player 10+版本的支持, [注意]: 1.我这边图片上传路径是无效的,所以图片上传失败是正常的,你们可以改一下上传路径即可: 2.需要Flash Player 10的支持: 3.这次主要研究是预览本地图片功能. 演示效果: 实现代码: view plaincopy to clipboardprint? package project.test     {        import flash.display.*;        import flash.geom.Rec