>  기사  >  백엔드 개발  >  高分高手翻译一PHP文件上传代码

高分高手翻译一PHP文件上传代码

WBOY
WBOY원래의
2016-06-13 12:01:32896검색

高分求助高手翻译一PHP文件上传代码
这个代码翻译成PHP的:

3. 在WEB端编写上传文件处理文件如上面的index.jsp

使用jspsmart处理代码如下

boolean isOK = false;

//程序初始化--------------------------------------------------------------
String path_tmp = request.getRealPath("/") + "Upload";
String filename_p = TextHandle.getDirectory();
String path_new = request.getRealPath("/") + "Upload\\" + filename_p;

//文件上传----------------------------------------------------------------
SmartUpload su = new SmartUpload();
su.initialize(pageContext);
su.upload();
int count = su.save(path_tmp);

String file_name = "",file_ext,newFileName = "无";

isOK=true;

if(count>0){
    com.jspsmart.upload.File file = su.getFiles().getFile(0);
    if (!file.isMissing()){            //有上传的文件------------------------
        file_name = file.getFileName().toLowerCase();

        if(file.getSize() == 0){            //如果传来的是空文件则删除------------
            java.io.File fileName1=new java.io.File(path_tmp,file_name);
            if(fileName1.exists())     fileName1.delete();
            isOK=false;
        }
        else{                        //看是否是正确的文件------------------
            file_ext = file_name.substring(file_name.lastIndexOf(".")+1,file_name.length());
            if(file_ext.equals("jpg")||file_ext.equals("gif")||file_ext.equals("jpeg")){
                String number = String.valueOf( (new java.util.Date()).getTime() );
                newFileName = filename_p + number + "." + file_ext;
                //将文件换名保存------------------------------------------
                //首先看目录是否存在,如果不存在则创建目录
                java.io.File dirOp = new java.io.File(path_new);
                if(!dirOp.exists()) dirOp.mkdir();

                String path1 = path_tmp + "\\" + file_name;
                String path2 = path_new + "\\" + newFileName;
                java.io.File fromFile = new java.io.File(path1);
                java.io.File toFile = new java.io.File(path2);
                java.io.FileInputStream fis = null;
                java.io.FileOutputStream fos = null;
                try{
                    fis = new java.io.FileInputStream(fromFile);
                    fos = new java.io.FileOutputStream(toFile); 
                    int bytesRead; 
                    byte[] buf = new byte[4 * 1024]; // 4K buffer ---------
                    while ((bytesRead = fis.read(buf)) != -1) fos.write(buf, 0, bytesRead);
                    fos.close(); fis.close();
                }
                catch(java.io.IOException e){
                    System.out.println(e);

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.