xue160709 发表于 2012-10-10 17:03:12

新手再次请教uploadify问题

先上代码:
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来调用,但是不知道怎么弄,谢谢

yuvista 发表于 2012-10-12 10:55:33

本帖最后由 yuvista 于 2012-10-12 10:57 编辑

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

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


======================
我最近一直在用uploadify,如果你有什么问题,可以发私信联系我。

xue160709 发表于 2012-10-14 08:47:46

yuvista 发表于 2012-10-12 10:55 static/image/common/back.gif
至于你能不能上传,发这些代码是没用的,很少会有人有时间看你这些个代码,特别是连格式都没有。而且看了不 ...

谢谢!

J丶哥又来了 发表于 2012-12-3 21:05:39

$targetFolder = $this->config->base_url('uploads');    改成绝对路径或者相对路径。

17sui 发表于 2012-12-24 13:38:25

yuvista 发表于 2012-10-12 10:55 static/image/common/back.gif
至于你能不能上传,发这些代码是没用的,很少会有人有时间看你这些个代码,特别是连格式都没有。而且看了不 ...

我的uploadifyIE下初始化不成功怎么办,在chrom下没有问题。。。请教。。q274480298

yuvista 发表于 2012-12-24 23:08:54

17sui 发表于 2012-12-24 13:38 static/image/common/back.gif
我的uploadifyIE下初始化不成功怎么办,在chrom下没有问题。。。请教。。q274480298 ...

给swf加上个参数,防止缓存文件,你试试,应该可以解决。 swf:/Uploadify/uploadify.swf?var=' + (new Date()).getTime()
页: [1]
查看完整版本: 新手再次请教uploadify问题