반응형


// 1. 커넥트 (1포인트 획득)
$conexao = mssql_connect("host ip or domain","id","password");
// 2. 디비선택 (1포인트획득)
mssql_select_db("database",$conexao);                

// 3. 주위에 외치기 ( 1포인트 획득)
$qu = "select count(*) as ctn  from talbe";
//echo $qu;

// 4. 쿼리 실행하여 결과 받아오기 (1포인트 획득)
$query = mssql_query($qu);
// 5. 쿼리를 object로 페치 (1포인트 획득)
$retorno = mssql_fetch_object($query);

// 5. 총 5포인트 버블로 해당 데이터 불러오기
$dccount = $retorno->ctn;
반응형
반응형


body 에 ondragstart="return false" onselectstart="return false"를 삽입
반응형
반응형

<html>
<head><title>주민등록번호 검사</title>
<script language="javascript">
function chkresno(resno) {

  // 주민번호의 형태와 7번째 자리(성별) 유효성 검사
  fmt = /^\d{6}-[1234]\d{6}$/;
  if (!fmt.test(resno)) {
    alert("잘못된 주민등록번호입니다."); return;
  }

  // 날짜 유효성 검사
  birthYear = (resno.charAt(7) <= "2") ? "19" : "20";
  birthYear += resno.substr(0, 2);
  birthMonth = resno.substr(2, 2) - 1;
  birthDate = resno.substr(4, 2);
  birth = new Date(birthYear, birthMonth, birthDate);

  if ( birth.getYear() % 100 != resno.substr(0, 2) ||
       birth.getMonth() != birthMonth ||
       birth.getDate() != birthDate) {
    alert("잘못된 주민등록번호입니다."); return;
  }

  // Check Sum 코드의 유효성 검사
  buf = new Array(13);
  for (i = 0; i < 6; i++) buf[i] = parseInt(resno.charAt(i));
  for (i = 6; i < 13; i++) buf[i] = parseInt(resno.charAt(i + 1));

  multipliers = [2,3,4,5,6,7,8,9,2,3,4,5];
  for (i = 0, sum = 0; i < 12; i++) sum += (buf[i] *= multipliers[i]);

  if ((11 - (sum % 11)) % 10 != buf[12]) {
    alert("잘못된 주민등록번호입니다."); return;
  }

  alert("정상적인 주민등록번호입니다.");
}
</script>
</head>
<body>
<h1>주민등록번호 검사</h1>
<form onSubmit="chkresno(this.resno.value);">
주민등록번호 <input type="text" name="resno">
<input type="submit" value="지금 검사">
</form>
</body>
반응형
반응형


2000에선 잘되던 소스가 XP에선

CDO.Message.1 (0x80040220)
"SendUsing" 구성 값이 잘못되었습니다.

라는 에러메세지로 고생하시는 분들이 있어서 제가 그 방법을 알려 드릴께요...

XP에서 사용하는 CDO는 버전이 업그레이드 되면서 SendUsing을 정확히 지정해 주지 않으면 메일을 송신하
지 않습니다...

이건 Windows User's Group에서 올라온 내용입니다.

"익스체인지 2000은 각각의 메일 서버와 커넥션을 유지하면서 메일 큐를 소모하는 방법을 쓰고 있기 때문에
커넥션 오버헤드가 다른 메일 서버에 비해 훨씬 작다. 그러나, 익스체인지 서비스팩의 버전이 올라가면서 몇
가지 변동 사항이 생겼다.

익스체인지 CDO는 Sendusing을 정확히 지정해 주지 않으면 메일을 송신하지 않는다. 또한 Sendusing 역시
인수가 달라졌다."

따라서 그 속성을 지정해 주고 메일을 발송을 하면 아주 잘 됩니다...

아래 소스를 보시고 참고하시기 바랍니다...

<%
Dim iMsg
Dim iConf
Dim Flds
Const cdoSendUsingPort = 1        '1일 경우 로컬(SMTP), 2일 경우 외부(SMTP)로 메일전송
Const strSmartHost = "MySmartHostServer"        'Host 설정

'Pickup 디렉토리 설정(익스체인지서버가 설치된 경우는 익스체인지 픽업 디렉토리 지정)
Const strRoot = "C:\Inetpub\mailroot\Pickup"

'CDO 메시지 개체 생성
Set iMsg = CreateObject("CDO.Message")

'SendUsing 속성을 지정하기 위한 개체 생성
Set iConf = iMsg.Configuration

With iConf.Fields
   .item("http://schemas.microsoft.com/cdo/configuration/sendusing") = cdoSendUsingPort
   .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverpickupdirectory") = strRoot
   .item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = strSmartHost
   .Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 30
   .Update
End With

'메일발송
With iMsg
   .To =
   .From =
   .Subject =
   .TextBody =
  '.HTMLBody =
   .Send
End With
    
Set Flds = Nothing
Set iConf = Nothing
Set iMsg = Nothing

Response.write "메일을 발송하셨습니다."
%>
반응형

'WEB > CGI' 카테고리의 다른 글

PHP 날짜 더하기, 날짜 비교하기  (0) 2010.10.21
PHP MSSQL용 API  (0) 2010.10.21
csv 파일 서버 저장 JSP  (0) 2010.10.21
*OutputStream 한글 인코딩 처리  (0) 2010.10.21
JSP 파일 업로드  (0) 2010.10.21
반응형

<%@ page language="java" import="java.util.*, java.sql.*, java.io.*" session="true" contentType="text/html;charset=euc-kr" pageEncoding="euc-kr" %>
<HTML>
<HEAD>
<title>엑셀 </title>
<meta content="text/html"; charset="euc-kr">
</head>

<body>
<%
        request.setCharacterEncoding("euc-kr");         // 한글 인코딩 설정    

try
{
        String fullPath = "/TforWindows/Tomcat5/webapps/ROOT/";
        StringBuffer sb = new StringBuffer(); //파일을 서버에 만들기 시작
        String fileName = "aaa.xls";
        
        //확장자는 xls,txt,csv 다 허용함다...
        //단지 xls,csv파일일때는 \t로 데이타를 구분해야하죠
        //그렇지만 내부적으로는 다 txt파일임다..어떤 에디터에서나 다 열리는...
        
        FileOutputStream fos = new FileOutputStream(fullPath + fileName);
        DataOutputStream dos = new DataOutputStream(fos);
        OutputStreamWriter osw = new OutputStreamWriter(dos,"MS949");  // 한글로 내용을 쓰셔야죠..
        
        //파일에 들어갈 내용들을 버퍼에 넣는다.
        sb.append("내용1");
        sb.append("\t"); //cvs파일인가?용이고..데이타의 구분이죠(tab)
        sb.append("내용2");
        sb.append("\r\n"); //파일에 버퍼의 내용을 적는다.
        
        osw.write(sb.toString(), 0, sb.length() );

        sb.delete(0,sb.length()-1); //버퍼를 지운다.
        
        //꼭 닫아주세요 ^^
        osw.close();
        dos.close();
        fos.close();
                
        
        }catch(IOException ioe){
                 out.println(ioe);
                 out.println("머야?");
        }catch(Exception ex){
                 out.println(ex);
                 out.println("머시기?");
        }
%>
</body>
</html>
반응형

'WEB > CGI' 카테고리의 다른 글

PHP MSSQL용 API  (0) 2010.10.21
2000 이후 달라진 SMTP (ASP, CDO)  (0) 2010.10.21
*OutputStream 한글 인코딩 처리  (0) 2010.10.21
JSP 파일 업로드  (0) 2010.10.21
PHP 파일의 확장자 분리하기  (0) 2010.10.21
반응형

-------------------------------------------------------------
질문
-------------------------------------------------------------
다음은 저의 허접 소스의 일부입니다.  
한글이 깨져서 나오는데, 이를 해결할 수 있는 방법이 있나요??  
================================================
try
{

sNewFileName = rd.sSaveDir + rd.vFileName.elementAt(FileNum).toString() + "N";
OutputStream os = new FileOutputStream(sNewFileName);
DataOutputStream out = new DataOutputStream(os);

for(int i=0; i < rd.vDB.size(); i++)
{
out.writeBytes("INSERT INTO =TMT003 VALUES(\"");
out.writeBytes(rd.vDB.elementAt(i).toString());
out.writeBytes("\", \"");
out.writeBytes(rd.vTable.elementAt(i).toString());
out.writeBytes("\");");
out.writeBytes("한글 테스트");
out.writeBytes("\n");
out.writeChars("한글 테스트");
out.writeBytes("\n");
out.writeUTF("한글 테스트");
out.writeBytes("\n");
}
return true;
}



-------------------------------------------------------------
답!!!
-------------------------------------------------------------
맞는 방법인지 틀린 방법인지도 모르겠지만

어쨋든 한글은 되게 하는 방법입니다 --;;

import java.io.*;

public class IOTest {
public static void main(String args[]){
try {  
String sNewFileName = "test.txt";  
OutputStream os = new FileOutputStream(sNewFileName);  
DataOutputStream out = new DataOutputStream(os);  
OutputStreamWriter osw = new OutputStreamWriter( out );
osw.write( "한글 테스트" , 0 , "한글 테스트".length() );  
osw.close();
out.close();
os.close();
} catch ( Exception e ) {
e.printStackTrace();
}
  }
}

반응형

'WEB > CGI' 카테고리의 다른 글

2000 이후 달라진 SMTP (ASP, CDO)  (0) 2010.10.21
csv 파일 서버 저장 JSP  (0) 2010.10.21
JSP 파일 업로드  (0) 2010.10.21
PHP 파일의 확장자 분리하기  (0) 2010.10.21
E-mail programming 관련  (0) 2010.10.20
반응형

파일 업로드
   - 단순한 텍스트를 전송하는 것이 아닌 바이너리 형태의 파일을 업로드 합니다.
   - 자료실 형태의 폼 학습입니다.

1. 파일 업로드를 위한 기본적인 폼 형태
   - form태그 속성들 중 input type="file" 은 파일을 선택할 수 있는 창을 만듭니다.
   - form 태그의  method와 enctype을 지정합니다.]

   <form name = "formName" method="post" enctype="multipart/form-data">
   <input type = "file" name="selectfile">

   - 파일 선택 페이지 작성

    
<html>
<body>
<form name="frmName" method="post" enctype="multipart/form-data"
  action="ViewPage.jsp">
user<br>
<input type="text" name="user"><br>
title<br>
<input type="text" name="title"><br>
file<br>
<input type="file" name="uploadFile"><br>
<input type="submit" value="UPLOAD"><br>
</form>
</body>
</html>


   - 위에 페이지에서 폼을 전송할 때 request 객체로 파라미터의 값을 얻어낼수 없습니다.
   - enctype="multipart/form-data로 전송한 폼에 담겨진 파라미터들에 대한 값을 얻어내기 위해,
     파일 찾기로 파일을 서버상의 한 폴더에 업로드 하기 위해 특별한 컴포넌트 필요합니다.
   - www.servlets.com에서 제공하는 cos.jar파일은  필요한 컴포너트 제공합니다.
   - cos-05Nov2002.zip 파일을 다운로드후 압축해제합니다.



2. 파일을 업로드하고 폼 데이터를 분석하는 도구 cos.jar
   - lib폴더 밑의 cos.jar 파일 설정하기
      ★ c:\tomcat-5.0.19\common\lib    
    
   - 어플리케이션 폴더에 업로드 되는 파일들이 저장될 폴더를 만듭니다. 폴더 이름은 자유롭게 사용

    


2. 파일 업로드 및 폼 요소 처리를 위한 MultipartRequest 클래스

   - MultipartRequest의 생성자
    . 한글 인코딩, 업로드 파일 중복의 해결

     MultipartRequest multi = new MultiPartRequest(request, folderDirectory,1024*10,"euc-kr",
                                                   new DfaultFileRenamePolicy());

     . 이객체가 생성되면서 폼에서 지정한 파일이 서버상의 폴더에 저장됩니다.



   - getParameterNames()
     폼에서 전송한 파라미터들의 이름을 Enumeration타입으로 반환, input 태그중에서 file 속성이 아닌
     모든 파라미터들의 이름을 반환 합니다.

   - getParameter()
     파라미터의 이름을 인자로 받아서 그 파라미터의 값을 반환 합니다.

   - getFileNames()
     폼요소 중 file 속성으로 지정된 input태그의 이름을 Enumeration타입으로 반환 합니다.

     <input type="file" name="uploadfile"> 태그가 폼요소에 있다며 uploadfile이란 파라메터의 이름이
     담긴 Enumeration을 반환 합니다.

   - getFilesystemName()
     서버상에 실제로 업로드된 파일 이름을 String 타입으로 반환 합니다.
     파일명이 중복될 경우 파일명뒤에 filename1.xxx   filename2.xxx 식으로 변경된 이름 반환 합니다.

   - getOriginalFileName()
     사용자가 직접 지정한 파일명을 반환, 파일명이 변경되기 전의 파일명이 반환 됩니다.

   - getContentType()
     getContentType() 메소드는 업로드된 파일의 컨텐트 타입을 반환 합니다.

   - getFile()
     서버상에 업로드된 파일에 대한 파일 객체를 반환 합니다.



3. 폼데이터 분석 & 파일 업로드 페이지 구현

<%--
/**
  *  Upload file...
  *  jsp file name : FileUploadPage.jsp
  **/
--%>
<%@page contentType="text/html;charset=euc-kr"   %>
<%@page import="com.oreilly.servlet.MultipartRequest,
                      com.oreilly.servlet.multipart.DefaultFileRenamePolicy,
                      java.util.*,
                      java.io.*"
%>
<%
String realFolder = "";
String saveFolder = "filestorage";
String encType = "euc-kr";
int maxSize = 5*1024*1024;

ServletContext context = getServletContext();
realFolder = context.getRealPath(saveFolder);
//out.println("the realpath is : " + realFolder+"<br>");
try
{
   MultipartRequest multi = null;
   multi = new MultipartRequest( request,realFolder,maxSize,encType,new DefaultFileRenamePolicy());
   Enumeration params = multi.getParameterNames();
  
   while(params.hasMoreElements()){
      String name = (String)params.nextElement();
      String value = multi.getParameter(name);
      out.println(name + " = " + value +"<br>");
   }

   Enumeration files = multi.getFileNames();
   while(files.hasMoreElements()){
      String name = (String)files.nextElement();
      String filename = multi.getFilesystemName(name);
   String original = multi.getOriginalFileName(name);
      String type = multi.getContentType(name);
      File f = multi.getFile(name);
      out.println("파라메터 이름 : " + name +"<br>");
      out.println("실제 파일 이름 : " + original +"<br>");
      out.println("저장된 파일 이름 : " + filename +"<br>");
      out.println("파일 타입 : " + type +"<br>");
      if(f!=null){
         out.println("크기 : " + f.length());
         out.println("<br>");
      }
   }
}catch(IOException ioe){
System.out.println(ioe);
}catch(Exception ex){
System.out.println(ex);
}
%>


  

4. 여러개의 파일 업로드
          
FileSelectPage.jsp

<%@page contentType="text/html; charset=euc-kr" %>
<%!
public String getParam(HttpServletRequest request, String paramName){
  if(request.getParameter(paramName)!=null){
   return request.getParameter(paramName);
  }else{
   return "";
  }
}
%>
<%
request.setCharacterEncoding("euc-kr");
int filecounter = 0;
if(request.getParameter("addcnt")!=null){
  filecounter = Integer.parseInt(request.getParameter("addcnt"));
}
%>
<html>
<head>
<title>File Select Page</title>
<link href="style.css" rel="stylesheet" type="text/css">
<script language="JavaScript">
function inputValue(form1, param, form2, idx){
var paramValue = form1.elements[idx].value;
form2.elements[idx].value = paramValue;    
return;
}
function addFile(formName){
if(formName.addcnt.value==""){
  alert(" 입력할 파일 갯수를 입력하고 확인버튼을 눌러주세요" );
  formName.addcnt.focus();      
  return;
}
formName.submit();
}

function elementCheck(formName){
   paramIndex = 1;
   for(idx=0; idx<formName.elements.length; idx++){
      if(formName.elements[idx].type == "file"){
         if(formName.elements[idx].value==""){
         var message = paramIndex+" 번째 파일정보가 누락되었습니다.\n업로드할 파일을 선택해 주세요";
      alert(message);
   formName.elements[idx].focus();
   return;  
      }
      paramIndex++;
      }
   }
   formName.action = "FileInfoView.jsp";
   formName.submit();
}
</script>
</head>
<body topmargin="100">
<div align="center"><font color="#0000ff" size="2">
복수개의 파일의 업로드를 위하여 파일 갯수를 입력한 후<br>
확인 버튼을 눌러주세요!!!<br>
입력이 완료되면 DONE 버튼을 눌러주세요</font></div><br>
<form name="frmName1" method="post">
<table width="75%" border="1" align="center" cellpadding="1" cellspacing="1" bordercolor="#660000" bgcolor="#FFFF99">
<tr bgcolor="#FFCC00">
    <td width="10%"><div align="right">user</div></td>
    <td><input type="text" name="user" onkeyup="inputValue(this.form,user,frmName2,0)" value="<%=getParam(request, "user")%>"></td>
    <td width="10%"><div align="right">title</div></td>
    <td><input type="text" name="title" onkeyup="inputValue(this.form,title,frmName2,1)" value="<%=getParam(request, "title")%>"></td>
</tr>
<tr bgcolor="#FFCC00">
<td width="15%"><div align="right">Abstract</div></td>
<td width="50%" colspan="3">
<textarea name="abstract" cols="40" onkeyup="inputValue(this.form,abstract, frmName2,2)"><%=getParam(request,"abstract")%></textarea>
</td>
</tr>
<tr>
<td colspan="4"><div align="center">
<font size="-2">추가할 파일 수 입력</font>
<input type="Text" name="addcnt">
<input type="button" value=" 확인 " onclick="addFile(this.form)">
</div>
</td>
</tr>
</table>
</form>

<form name="frmName2" method="post" enctype="multipart/form-data">
<table width="75%" border="1" align="center" cellpadding="1" cellspacing="1" bordercolor="#660000" bgcolor="#FFFF99">
<tr bgcolor="#FFCC00">
<td width="40%">
<input type="hidden" name="txtUser" value="<%=getParam(request, "user")%>">
<input type="hidden" name="txtTitle" value="<%=getParam(request, "title")%>">
<input type="hidden" name="txtAbstract" value="<%=getParam(request,"abstract")%>">
<% for(int i=0; i<filecounter; i++){%>
<input type="File" size="50" name="selectFile<%=i%>"><br>  
<% }%>
</td>
<td><input type="Button" value="DONE" onclick="elementCheck(this.form)"></td>
</tr>
</table>
</form>
</body>
</html>





<<<<  FileInfoView.jsp

<%@page contentType="text/html;charset=euc-kr"   %>
<%@page import="com.oreilly.servlet.MultipartRequest,
                com.oreilly.servlet.multipart.DefaultFileRenamePolicy,
                java.util.*,
                java.io.*"          
%>
<%
String realFolder = "";
String saveFolder = "filestorage";
String encType = "euc-kr";
int maxSize = 10*1024*1024;//10M

ServletContext context = getServletContext();
realFolder = context.getRealPath(saveFolder);
ArrayList saveFiles = new ArrayList();
ArrayList origFiles = new ArrayList();

String paramUser = "";
String paramTitle= "";
String paramAbstract = "";


try
{
MultipartRequest multi = new MultipartRequest( request,realFolder,maxSize,encType,new DefaultFileRenamePolicy());
              
paramUser = multi.getParameter("txtUser");
paramTitle = multi.getParameter("txtTitle");
paramAbstract = multi.getParameter("txtAbstract");

Enumeration files = multi.getFileNames();
while(files.hasMoreElements()){
    String name = (String)files.nextElement();
    saveFiles.add(multi.getFilesystemName(name));
    origFiles.add(multi.getOriginalFileName(name));
}
%>
<html>
<head>
<title>File Info Page</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<table width="75%" border="1" align="center" cellpadding="1" cellspacing="1" bordercolor="#660000" bgcolor="#FFFF99">
<tr>
    <td width="10%" bgcolor="#FFCC00"><div align="right"><strong>user</strong></div></td>
    <td width="30%"><%= paramUser %></td>
    <td width="10%" bgcolor="#FFCC00"><div align="right"><strong>title</strong></div></td>
    <td width="30%"><%= paramTitle %></td>
</tr>
<tr>
<td width="10%" bgcolor="#FFCC00"><div align="right"><strong>Abstract</strong></div></td>
<td width="50%" colspan="3">
  <textarea cols="50" rows="5" disabled><%= paramAbstract %></textarea>
</td>
</tr>
<tr><td colspan="4" bgcolor="#ffffff"> </td></tr>
<tr>
<td colspan="4"><strong>업로드된 파일들입니다.</strong></td>
</tr>
<%for(int i=0; i<saveFiles.size();i++){%>
<tr bgcolor="#FFCC00">
<td colspan="4">
<a href="../<%=saveFolder+"/"+saveFiles.get(i)%>"><strong><%=origFiles.get(i)%></strong></a>
</td>
</tr>
<%}%>
</table>
</body>
</html>
<%
}catch(IOException ioe){
System.out.println(ioe);
}catch(Exception ex){
System.out.println(ex);
}
%>
반응형

'WEB > CGI' 카테고리의 다른 글

csv 파일 서버 저장 JSP  (0) 2010.10.21
*OutputStream 한글 인코딩 처리  (0) 2010.10.21
PHP 파일의 확장자 분리하기  (0) 2010.10.21
E-mail programming 관련  (0) 2010.10.20
JSP에서 한글인코딩이 안될때  (0) 2010.10.20
반응형

2진수 데이터를 10진수로 바꾸는 방법

' 2진수를 10진수로 바꾸기
str = StrReverse(sb_RS("downno"))
c = 0
for idx = 1 to len(str)
b = int(mid(str,idx,1))
c = c + (b* 2^(idx-1))
next
' 16진수 로 만들기..
d = HEX(c)
반응형
반응형

/*
$file_ext : 확장자 명 (ex : jpg)
$file_name : 입력한 파일 명 (ex : sss.jpg)
*/

/* 1. substr */
/*------------------------------------------------------*/
$file_ext = substr( strrchr($file_name,"."),1);
/*------------------------------------------------------*/

/* 2. explode */
/*------------------------------------------------------*/
$type = explode(".", $file_name);
$file_ext = $type[count($type)-1];  
/*------------------------------------------------------*/

/*
        1. substr을 이용하여 "."으로 구분해 내는 방법...
           xxx.tar.z 와 같은 "."가 여러개인 경우 해결 방법은
        마지막 "."뒤의 스트링만 확장자로 분리하여야 한다.
        그 해결방법으로
        2. explode를 이용하여 "."을 기준으로 배열에 저장 후
        배열의 크기-1 의 위치에 있는 스트링이 확장자를 분리해
        낼 수 있다.  
*/
반응형

'WEB > CGI' 카테고리의 다른 글

*OutputStream 한글 인코딩 처리  (0) 2010.10.21
JSP 파일 업로드  (0) 2010.10.21
E-mail programming 관련  (0) 2010.10.20
JSP에서 한글인코딩이 안될때  (0) 2010.10.20
PHP 문자열중 원하는 Tag만 제거하기  (0) 2010.10.19
반응형
반응형

'WEB > CGI' 카테고리의 다른 글

*OutputStream 한글 인코딩 처리  (0) 2010.10.21
JSP 파일 업로드  (0) 2010.10.21
PHP 파일의 확장자 분리하기  (0) 2010.10.21
JSP에서 한글인코딩이 안될때  (0) 2010.10.20
PHP 문자열중 원하는 Tag만 제거하기  (0) 2010.10.19

+ Recent posts