我是新手,本来是学习java的,但刚一进公司就搞php网页,一点都不懂啊,这两天经理让我做个上传压缩文件的按钮,可以上传,但在目标文件里却接收不到我上传的文件,我把代码复制过来,希望各路大侠能给指点下,感激不尽。 <script></script> <script></script> <script></script>
<script> <br /> $(function() { <br /> $('#file_uploadtp').uploadify({ <br /> 'formData' : { <br /> 'uuid' : ''+uuid <br /> }, <br /> 'swf' : 'uploadify.swf', <br /> 'uploader' : 'uploadifytp.php', <br /> 'method' : 'get', <br /> 'successTimeout' : 10, <br /> 'fileSizeLimit' : '1GB', <br /> 'fileTypeExts': '*.zip;*.rar;*.doc', <br /> 'fileTypeDesc' : '请选择*.zip;*.rar;*.doc的文件', <br /> 'width':'50px', <br /> 'buttonText':'批量上传', <br /> 'onUploadComplete' : function(file) { <br /> },'onUploadSuccess': function(event, response, status) { <br /> if(response==1){ <br /> spsc="1"; <br /> alert("文件类型不符合要求"); <br /> }else { <br /> alert("文件上传成功"); <br /> } <br /> } <br /> }); <br /> }); <br /> </script> /*
Uploadify
Copyright (c) 2012 Reactive Apps, Ronnie Garcia
Released under the MIT License
*/ $targetFolder = '/nrgl/photos'; // Relative to the root $uuid=$_GET['uuid']; //$verifyToken = md5('unique_salt' . $_POST['timestamp']); //if (!empty($_FILES) && $_POST['token'] == $verifyToken) { $rand=rand(0,999999999); //if (!empty($_FILES) && $_POST['token'] == $verifyToken) { $tempFile = $_FILES['Filedata']['tmp_name']; $targetPath = $_SERVER['DOCUMENT_ROOT'] . $targetFolder; $targetFile =rtrim($targetPath,'/') . '/'.$rand.'.' .substr($_FILES['Filedata']['name'],-3,3); // Validate the file type $fileTypes = array('zip','rar','doc'); // File extensions $fileParts = pathinfo($_FILES['Filedata']['name']); if (in_array($fileParts['extension'],$fileTypes)) { move_uploaded_file($tempFile,$targetFile); echo $targetFile; } else { echo '1'; }
回复讨论(解决方案) 上传后的文件将存放于 $targetPath 指向的目录中 请确认该目录真实存在,并有写权限
同上!!!
目录是真实存在的,可是我一开始是上传到c盘的,可能c盘是系统盘不能上传上去,之后我改到E盘,可还是上传不上去,并且文件夹的属性是只读状态,改不掉,这种情况是怎么回事呢?是文件夹属性的原因,还是我的代码有问题,请大牛们仔细帮我看下吧,非常感谢啊,我搞这个小按钮已经一个星期了。
我把$targetFolder = '/nrgl/photos'改成$targetFolder = 'E:\\photos';并且把$targetPath = $_SERVER['DOCUMENT_ROOT'] . $targetFolder改成$targetPath = $targetFolder;不知道代码改的对不对,恳请指点!
因为$targetFolder = '/nrgl/photos'是相对路径,所以我把$_SERVER['DOCUMENT_ROOT'] .去掉了,不知道对不对。 应该不是目录是否存在的问题和权限的问题吧,因为我一开始上传照片都能上传进去。