用户
 找回密码
 入住 CI 中国社区
搜索
查看: 4629|回复: 5
收起左侧

[HELP] 新手再次请教uploadify问题

[复制链接]
发表于 2012-10-10 17:03:12 | 显示全部楼层 |阅读模式
先上代码:
Controller:
        function upload()
        {
                $this->load->view('upload/index');
        }
function do_upload()
        {
                $targetFolder = $this->config->base_url('uploads');
        $verifyToken = md5('unique_salt' . $_POST['timestamp']);

          if (!empty($_FILES) && $_POST['token'] == $verifyToken) {
                   $tempFile = $_FILES['Filedata']['tmp_name'];
                   $targetPath = $_SERVER['DOCUMENT_ROOT'] . $targetFolder;
                   $targetFile = rtrim($targetPath,'/') . '/' . $_FILES['Filedata']['name'];
       
        // Validate the file type
                   $fileTypes = array('jpg','jpeg','gif','png'); // File extensions
                   $fileParts = pathinfo($_FILES['Filedata']['name']);
       
                   if (in_array($fileParts['extension'],$fileTypes)) {
                          move_uploaded_file($tempFile,$targetFile);
                          echo '1';
                   } else {
                          echo 'Invalid file type.';
                       }
                 }
         }
         function check_exists()
         {
                 $targetFolder = $this->config->base_url('uploads');
         if (file_exists($_SERVER['DOCUMENT_ROOT'] . $targetFolder . '/' . $_POST['filename'])) {
                echo 1;
         } else {
              echo 0;
         }
         }

View:
<form>
                <div id="queue"></div>
                <input id="file_upload" name="file_upload" type="file" multiple="true">
        </form>

        <script type="text/javascript">
                <?php $timestamp = time();?>
                $(function() {
                        $('#file_upload').uploadify({
                                'formData'     : {
                                        'timestamp' : '<?php echo $timestamp;?>',
                                        'token'     : '<?php echo md5('unique_salt' . $timestamp);?>'
                                },
                                'swf'      : '<?php echo $this->config->base_url('swf/uploadify.swf')?>',
                                'uploader' : '<?php echo $this->config->site_url('smile/do_upload')?>'
                        });
                });
        </script>


请问为什么还是上传不了文件呢?而且查看了很久demo,但是不知道 check_exists这个怎么使用, 我将uploadify里面的两个php弄成了controller里面的两个function来调用,但是不知道怎么弄,谢谢
发表于 2012-10-12 10:55:33 | 显示全部楼层
本帖最后由 yuvista 于 2012-10-12 10:57 编辑

至于你能不能上传,发这些代码是没用的,很少会有人有时间看你这些个代码,特别是连格式都没有。而且看了不实际跑一下也不好说问题出在哪里。

说几个点吧。
1,上传的目录要存在,uploadify的默认代码是不会给你创建不存在目录的。
2,check_exists是在需要的时候,用来查看文件在目标目录是否存在。不是必须执行的操作。
3,如果还是有问题可以在uploadify的初始化参数中 加上  'debug':'true',uploadify会把详细的状态信息打印出来,方便排错。


======================
我最近一直在用uploadify,如果你有什么问题,可以发私信联系我。
 楼主| 发表于 2012-10-14 08:47:46 | 显示全部楼层
yuvista 发表于 2012-10-12 10:55
至于你能不能上传,发这些代码是没用的,很少会有人有时间看你这些个代码,特别是连格式都没有。而且看了不 ...

谢谢!
发表于 2012-12-3 21:05:39 | 显示全部楼层
$targetFolder = $this->config->base_url('uploads');    改成绝对路径或者相对路径。
发表于 2012-12-24 13:38:25 | 显示全部楼层
yuvista 发表于 2012-10-12 10:55
至于你能不能上传,发这些代码是没用的,很少会有人有时间看你这些个代码,特别是连格式都没有。而且看了不 ...

我的uploadifyIE下初始化不成功怎么办,在chrom下没有问题。。。请教。。q274480298
发表于 2012-12-24 23:08:54 | 显示全部楼层
17sui 发表于 2012-12-24 13:38
我的uploadifyIE下初始化不成功怎么办,在chrom下没有问题。。。请教。。q274480298 ...

给swf加上个参数,防止缓存文件,你试试,应该可以解决。 swf:  /Uploadify/uploadify.swf?var=' + (new Date()).getTime()

本版积分规则