php+Uploadify在win7下安装配置好了,也可以正常运行,但在linux下无法上传
程序员文章站
2022-04-08 20:48:35
...
PHP这里我用的是YII框架,应该没什么影响
下面是html代码,上传a标签
处理上传的js代码
方法名
我记得是要大些的。
/* 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标签
上传
处理上传的js代码
回复讨论(解决方案)
要确定文件路径是否有上传权限
文件路径有上传权限,我反复看了的
js 代码部分要用浏览器中看到的
这样才能判定问题所在
另外,参数中要加上 debug:true, 这一项
catch下失败原因,打印出来看看。
刚刚加了这句话,js没有报错,后台PHP中print_r($_FILES);array没有任何数据,不知道从哪里查起,其中发现jquery.uploadify-3.1.min.js这个里面是获取文件信息并且传到后台的,不知道页面上是哪个去触发上传动作获取文件信息
js 代码部分要用浏览器中看到的
这样才能判定问题所在
另外,参数中要加上 debug:true, 这一项
$_FILES为空?
这是因为你的上传文件大于 php 设定的表单大小 post_max_size
actionuploadify
方法名
actionUploadify
我记得是要大些的。
是post_max_size和上传文件大小这两个地方,其他的地方没问题,谢谢!
$_FILES为空?
这是因为你的上传文件大于 php 设定的表单大小 post_max_size