ホームページ  >  記事  >  バックエンド開発  >  php+Uploadify は win7 でインストールおよび設定されており、正常に実行できますが、Linux ではアップロードできません。

php+Uploadify は win7 でインストールおよび設定されており、正常に実行できますが、Linux ではアップロードできません。

WBOY
WBOYオリジナル
2016-06-23 13:53:52862ブラウズ

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 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 を追加する必要があります。
失敗の理由を把握し、印刷して確認してください。

この文を追加しました。js にはエラーはありません。バックグラウンド PHP の print_r($_FILES);array にデータがありません。jquery.uploadify-3.1 をどこから始めればよいかわかりません。 .min.js にはファイルが含まれています。ページ上のどれがファイル情報を取得するためのアクションをトリガーするのかわかりません。js コード部分は次のようになります。ブラウザ

この方法で、問題がどこにあるのかを判断できます

さらに、パラメータに debug を追加する必要があります。:true、この項目

は追加されましたが、Firefox の使用時にエラーは報告されませんでしたが、$_FILES は空でした


$ _FILES は空でしたか?
これは、アップロードしたファイルがphpで設定したフォームサイズpost_max_sizeより大きいためです

actionuploadify
メソッド名

actionuploadify

もっと大きかったと記憶しています。

post_max_size とアップロード ファイル サイズは問題ありません。ありがとうございます。


$_FILES は空ですか?

これは、アップロードされたファイルが php で設定されたフォームサイズ post_max_size より大きいためです


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:形状次の記事:形状