当前位置: 代码迷 >> PHP >> php+Uploadify在win7下安装配置好了,也可以正常运行,但在linux下无法上传,该怎么解决
  详细解决方案

php+Uploadify在win7下安装配置好了,也可以正常运行,但在linux下无法上传,该怎么解决

热度:215   发布时间:2016-04-28 18:51:49.0
php+Uploadify在win7下安装配置好了,也可以正常运行,但在linux下无法上传
PHP这里我用的是YII框架,应该没什么影响

/*
 Uploadify 后台处理方法
 */
public function actionuploadify(){

//设置上传目录
$path = "./uplode/video/";
              //这里$_FILES为空
if (!empty($_FILES)) {

//得到上传的临时文件流
$tempFile = $_FILES['Filedata']['tmp_name'];

//允许的文件后缀
$fileTypes = array('avi','rmvb','mpg','wav');

//得到文件原名
$fileName = iconv("UTF-8","GB2312",$_FILES["Filedata"]["name"]);
$fileParts = pathinfo($_FILES['Filedata']['name']);

//接受动态传值
$files=$_POST['typeCode'];

//最后保存服务器地址
if(!is_dir($path))
mkdir($path);


//判断singerInfo文件是否存在且不为空 
$this->getSingFile();


if (move_uploaded_file($tempFile, $path.$fileName)){
$myfile = explode(".",$fileName);

$sql = $this->getfile($myfile[0],1);

if ($sql){

//songandSinger文档插入
$songSingerFile = "./uplode/image/songSinger.txt";
$this->getSongFile($myfile[0],$songSingerFile,"dSongAndSinger","kSingerID");

//songandType文档插入
$songTypeFile = "./uplode/image/songType.txt";
$this->getSongFile($myfile[0],$songTypeFile,"dSongAndType","kSongTypeID");

//songandStyle文档插入
$songStyleFile = "./uplode/image/songStyle.txt";
$this->getSongFile($myfile[0],$songStyleFile,"dSongAndStyle","kSongStyleID");

echo $fileName."文件上传成功,数据上传成功!";

}else{
echo $fileName."文件上传成功,数据上传失败!";
}
//

}else{
echo $fileName."上传失败!";
}

}

}

下面是html代码,上传a标签
<a href="javascript:$('#file_upload').uploadify('settings', 'formData', {'typeCode':document.getElementById('id_file').value});$('#file_upload').uploadify('upload','*')">上传</a>

处理上传的js代码

<script type="text/javascript" src="<?php echo Yii::app()->request->baseUrl; ?>/js/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="<?php echo Yii::app()->request->baseUrl; ?>/js/jquery.uploadify-3.1.min.js"></script>

<link rel="stylesheet" type="text/css" href="<?php echo Yii::app()->request->baseUrl; ?>/css/uploadify.css"/>
<script type="text/javascript">
var img_id_upload=new Array();//初始化数组,存储已经上传的图片名
var i=0;//初始化数组下标
$(function() {
    $('#file_upload').uploadify({
     'auto'     : false,//关闭自动上传
      'removeTimeout' : 600,//文件队列上传完成1秒后删除
        'swf'      : '<?php echo Yii::app()->request->baseUrl; ?>/js/uploadify.swf',
        'uploader' : 'uploadify',//uploadify.php
        'method'   : 'post',//方法,服务端可以用$_POST数组获取数据
'buttonText' : '选择文件',//设置按钮文本
        'multi'    : true,//允许同时上传多张图片
        'uploadLimit' : 10,//一次最多只允许上传10张图片
        'fileTypeDesc' : 'Video Files',//只允许上传图像
        'fileTypeExts' : '*.rmvb; *.mpg; *.wav',//限制允许上传的图片后缀
        'fileSizeLimit' : '2GB',//限制上传的图片不得超过200KB 
        'onUploadSuccess' : function(file, data, response) {//每次成功上传后执行的回调函数,从服务端返回数据到前端
               img_id_upload[i]=data;
               i++;
   alert(data);
   
  //  window.location.reload();
        },
        'onQueueComplete' : function(queueData) {
         $("#result").html('');
            //上传队列全部完成后执行的回调函数
           // if(img_id_upload.length>0)
           // alert('成功上传的文件有:'+encodeURIComponent(img_id_upload));
        }  
        // Put your options here
    });
});
</script>

------解决方案--------------------
$_FILES为空?
这是因为你的上传文件大于 php 设定的表单大小 post_max_size
  相关解决方案