加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – Uploadify FOLDER

发布时间:2020-12-13 16:22:53 所属栏目:PHP教程 来源:网络整理
导读:我使用Uploadify上传文件和使用Codeigniter框架. 这是我的Uploadify代码: $("#change_profile_icon").uploadify({ 'uploader' : '/project/style/scripts/crop/uploadify/uploadify.swf','script' : 'http://localhost/project/pages/profile_icon','cancel
我使用Uploadify上传文件和使用Codeigniter框架.

这是我的Uploadify代码:

$("#change_profile_icon").uploadify({

                    'uploader'       : '/project/style/scripts/crop/uploadify/uploadify.swf','script'         : 'http://localhost/project/pages/profile_icon','cancelImg'      : '/project/style/scripts/crop/uploadify/cancel.png','buttonText'     :'Upload image','width'          : '110','height'         : '30','queueID'        : 'fileQueue','auto'           : true,'scriptData'     :{username :"<?php echo $this->session->userdata('username');?>",folder:"honda"},'queueSizeLimit' : 1,'multi'          : false,'fileDesc'       : 'jpg','fileExt'        : '*.jpg;*.png','sizeLimit'      : '819200',//max size bytes - 800kb
                    'onComplete'     : function(event,queueID,fileObj,response,data) {
                                            alert("Completed");
                                            var dataresponse = eval('(' + response + ')');
                                            //$('#uploadifyUploader').remove();
                                        var filenametmp = "http://localhost"+(dataresponse.file).substring(0,(dataresponse.file).lastIndexOf("?"));
                                        var current_page = $('#page-list').val();

                                        },'onSelect' : function (){
                                        var folder =  $('#page-list option:selected').text(); //returns HONDA which is correct
$('#change_profile_icon').uploadifySettings('folder',folder);
},'onError'        : function(){
                                            alert('error');
                                       }
                });

这是我的PHP部分[Uploadify中的脚本值]

function profile_icon()
    {
    if (!empty($_FILES)) {
    $tempFile = $_FILES['Filedata']['tmp_name'];
    $targetPath = $_REQUEST['folder'] . '/';
    $targetFile =  str_replace('//','/',$targetPath) . $_FILES['Filedata']['name'];

    // $fileTypes  = str_replace('*.','',$_REQUEST['fileext']);
    // $fileTypes  = str_replace(';','|',$fileTypes);
    // $typesArray = split('|',$fileTypes);
    // $fileParts  = pathinfo($_FILES['Filedata']['name']);

    // if (in_array($fileParts['extension'],$typesArray)) {
        // Uncomment the following line if you want to make the directory if it doesn't exist
        $targetPath = 'uploads/' .$_REQUEST['folder']. '/';
        $targetFile = $targetPath.$_FILES['Filedata']['name'];
        if (!file_exists($targetPath))
        {
         mkdir(str_replace('//',$targetPath),0755,true);
        }
        move_uploaded_file($tempFile,$targetFile);
        echo str_replace($_SERVER['DOCUMENT_ROOT'],$targetFile);
    // } else {
    //  echo 'Invalid file type.';
    // }
}

问题:

$targetPath = 'uploads/' .$_REQUEST['folder']. '/';
            $targetFile = $targetPath.$_FILES['Filedata']['name'];
            if (!file_exists($targetPath))
            {
             mkdir(str_replace('//',true);
            }

检查上面从PHP部分获取的代码.我认为$_REQUEST [‘folder’]将给出在Uploadify脚本上指定的文件夹名称.文件夹的值是本田
但这给了不同的东西.

我上传了一个文件,这个脚本上传到了

C:wampwwwprojectuploadsprojecthomeeditpagehondahonda

在wamp服务器上[我在Localhost]

但它是怎么来的?它应该是

C:wampwwwprojectuploadshonda

检查以下……

$targetPath = 'uploads/' .$_REQUEST['folder']. '/';
  $targetFile = $targetPath.$_FILES['Filedata']['name'];

targetPath现在应该是uploads / honda /
和targetFile现在应该上传/ honda / fileName.ext

我不知道我做错了什么,它在哪里….

请帮我.

谢谢 .

编辑:当前页面的URL结构:http:// localhost / Project / home / editpage / honda /
home是控制器,editpage是函数,本田是一个参数.[Codeigniter框架]

SOLVED

我解决了这个问题,这是uploadify中的一个错误:uploadify文件夹变量不是直接的,因此我们应该在此之前添加一个斜杠.

所以它将是var folder =“/”“FolderName”;
问题是你不能在服务器上返回数据,如果你只使用文件夹名称.

解决方法

我解决了这个问题,因此我们应该在此之前添加一个斜杠.

所以它将是var folder =“/”“FolderName”;问题是你不能在服务器上返回数据,如果你只使用文件夹名称.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读