+ -
当前位置:首页 → 问答吧 → 为什么用jquery的uploadify插件上传文件时,在服务器上没有文件?

为什么用jquery的uploadify插件上传文件时,在服务器上没有文件?

时间:2010-03-05

来源:互联网

我下载的是2.1.0版本的,写的是PHP程序。
首先说下我的问题情况:
        我根据官网上的说明和网上一些帖子的介绍进行了一些简单的操作,让这个插件能运行了,上传的过程中也都没有JS错误,但是上传结束后,在服务器上却找不到我上传的文件!!这是什么原因呢?请高手帮我看看。 
        这是我的文件目录
 文件目录

        说下我的主要代码:
uploadify-multi-single.php
//引用JS:
<script type="text/javascript" src="jquery/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="jquery/swfobject.js"></script>
<script type="text/javascript" src="jquery/jquery.uploadify.v2.1.0.js"></script>

//配置插件:
<script type="text/javascript">
    $(document).ready(function() {
        $("#fileUpload").uploadify({
        uploader': 'jquery/uploadify.allglyphs.swf',
        'cancelImg': 'jquery/cancel.png',
        'script': 'jquery/uploadify.php',     //跳转路径
        'folder': 'download',      //要上传到哪个目录下,可以使用../../images这样的路径
        'multi': false,
        'displayData': 'speed'
    );
});
</script>

//样式
<fieldset style="border: 1px solid #CDCDCD; padding: 8px; padding-bottom:0px; margin: 8px 0">
    <legend><strong>Uploadify - 单个核多个样本</strong></legend>
    <h2>单文件上传</h2>
    <p>显示速度</p>
    <div id="fileUpload">你的 JavaScript 有一个问题</div>
    <a href="javascript:$('#fileUpload').uploadifyUpload()">开始上传</a>  |  <a href="javascript:$('#fileUpload').uploadifyClearQueue()">清除队列</a>
</fieldset>

上传操作是在uploadify.php文件内完成的。
uploadify.php代码如下:
<?php
if (!empty($_FILES)) {
    $tempFile = $_FILES['Filedata']['tmp_name'];
    $targetPath = $_SERVER['DOCUMENT_ROOT'] . $_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
        // mkdir(str_replace('//','/',$targetPath), 0755, true);
        move_uploaded_file($tempFile,$targetFile);
        echo "1";
    // } else {
        // echo 'Invalid file type.';
    // }
}
?>

所以我吧跳转设置为uploadify.php。也就是“'script': 'jquery/uploadify.php',     //跳转路径”,但是总是不跳转。
这是什么原因啊,为什么不跳转,是代码写错了还是其他地方出了问题?
请高手指教~~,越详细越好啊。
先谢谢了。
如果感觉这样说不清楚可以加我QQ:506284624.
O(∩_∩)O谢谢!!

作者: fuxing0539   发布时间: 2010-03-05

你重点查看下服务器端是否接收到文件?

作者: quweiie   发布时间: 2010-03-05

还有客户端的设置,你仔细查看下设置(文档)

作者: quweiie   发布时间: 2010-03-05

我看过服务器端了,没有找到上传的文件。
我也对比过官方文档了,没发现有什么不同的地方啊~~ ,我看了近两天了,也没看出区别来 郁闷ing~~
这是官方网址:http://www.uploadify.com/
问题是,为什么我设置了跳转页却不起作用?
而且我觉得,就算挑战了也不一定会成功。
原因是:他是用的flash上传的,但是我看见选择文件后,输入框里只有文件名而已,那传过去的值是不是也就只是文件名,而没有路径呢?可能是我理解错了,因为这只是我的猜测。所以还请高手们、前辈们先帮我解决下跳转的问题。
有成功运用过uploadify插件的高手请请指导下吧。
先谢谢所有看过本贴的前辈们、高手们。

作者: fuxing0539   发布时间: 2010-03-06

完全没碰到过你的问题,用的很顺畅,除了对IE6支持不好以外
还有你怎么会看见输入框啊?
不是只有个上传的按钮么,输入框你是看不到的啊,你看到了说明你这个插件没有成功使用,好好查查吧

用的flash上传,路径的什么的flash里的对象会保存的,这个楼主无需担心

作者: ywqbestever   发布时间: 2010-03-06

哦,我看见的输入框是我在另外一个插件上看见的。我以为这个也是呢。
我现在跳转的问题好像是解决了,出了一个JS弹出框,里面的内容是uploadify.php的内容。
但是,我mkdir($targetPath); 创建目录时老是提示错误:“Pwrmission denied” 权限被拒绝。
这个怎么解决啊?
下面的move_uploaded_file($tempFile,$targetFile);也提示:"failed to open stream:Permission denied" 未能打开流:权限被拒绝
这是什么原因??

作者: fuxing0539   发布时间: 2010-03-08

目录的权限啊,你没有创建目录的权限,当然失败了

作者: ywqbestever   发布时间: 2010-03-08

恩, 我昨晚终于弄好了,确实是权限问题~~。O(∩_∩)O谢谢~~~~~~~~
我是第一次管理服务器。以前都是我同事管这方面的事。所以不知道与权限有关。
后来,去服务器找了下以前的上传目录,发现权限不一样,我就照着改了一遍。~~
谢谢大家的帮忙~~
问题终于解决了。

作者: fuxing0539   发布时间: 2010-03-09