Home >Backend Development >PHP Tutorial >php+Uploadify在win7下安装配置好了,也可以正常运行,但在linux下无法上传

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

WBOY
WBOYOriginal
2016-06-23 13:53:52917browse

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>


回复讨论(解决方案)

要确定文件路径是否有上传权限

文件路径有上传权限,我反复看了的

js 代码部分要用浏览器中看到的
这样才能判定问题所在

另外,参数中要加上 debug:true, 这一项

catch下失败原因,打印出来看看。

刚刚加了这句话,js没有报错,后台PHP中print_r($_FILES);array没有任何数据,不知道从哪里查起,其中发现jquery.uploadify-3.1.min.js这个里面是获取文件信息并且传到后台的,不知道页面上是哪个去触发上传动作获取文件信息

js 代码部分要用浏览器中看到的
这样才能判定问题所在

另外,参数中要加上 debug:true, 这一项

 加了但是用火狐看没有报错,只是$_FILES为空

$_FILES为空?
这是因为你的上传文件大于 php 设定的表单大小 post_max_size

actionuploadify

方法名
actionuploadify

我记得是要大些的。

是post_max_size和上传文件大小这两个地方,其他的地方没问题,谢谢!

$_FILES为空?
这是因为你的上传文件大于 php 设定的表单大小 post_max_size

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn