'웹/웹.php.asp'에 해당되는 글 24건

ClearUpLoad asp.net

웹/웹.php.asp


The following script will help us to clear the FileUpload control in ASP.Net 2.0.

 

<script language="javascript">

    function ClearFileUpload()

    {

    var fil = document.getElementById("FileUpload1");

   fil.select();

   n=fil.createTextRange();

   n.execCommand('delete');

   fil.focus();

    }

    </script>

 

<asp:FileUpload ID="FileUpload1" runat="server" />

<asp:Button ID="Button1" runat="server" OnClientClick="ClearFileUpload()" Text="Clear" />

 

When we click the Clear button the FileUpload control will be cleared.

Name
Password
Homepage
Secret

asp 속도 개선법

웹/웹.php.asp

[속도개선법-2]
*Response.Redirect 대신 Sever.Transfer를 사용하라

Response.Redirect는 Sever에서 브라우저에 요청 후 Sever로 돌아오나. Sever.Transfer는 Server내부에서 처리됩니다.


*Directory URL에 후행 슬러시 사용

후행 슬래시를 생략하면 브라우저는 서버에 요청하여 디렉터리를 요구하고 있다는 응답을 받습니다. 그러면 브라우저는 URL에 슬래시를 첨가하여 두번째 요청을 하며 이때서야 서버가 그 디렉터리에 대한 기본 문서로 응답합니다.


*Sever 변수사용금지

서버 변수에 액세스하면 웹 사이트가 서버에 특별한 요청을 하게 되어 요청한 것만이 아니라 모든 서버 변수를 수집하게 됩니다. 속도가 저하됨
ex : < Response.Write(“Data”)>


*< OBJECT> Tag를 사용하라

Server.CreateObject는 즉시 개체를 만듭니다. 이 개체를 나중에 사용하지 않는다면 결국 리소스를 낭비하는 것입니다. < object id=objname> 태그는 objname을 선언하지만 이 개체의 메서드 또는 속성 중 하나가 처음 사용될 때까지 objname은 실제로 만들어지지 않습니다.
Ex : < OBJECT runat=server progid=ADODB.Connection id=dbcon> < /OBJECT>


*일괄 처리 인라인 스크립트 및 Response.Write 문

응답버퍼링을 켜지 않으면 이 문(statement)이 여러 작은 패킷으로 네트워크를 통해 브라우저로 데이터를 쓰게 됩니다. 이 과정은 매우 느립니다. 작은 양의 스크립트 및 HTML을 여기 저기 배치하면 스크립트 엔진과 HTML간의 전환이 일어나서 성능이 떨어집니다. 가깝게 모여있는 인라인 식(expression)을 Response.Write를 한 번 호출하는 것으로 교체합니다. 특히 게시판과 같이 Until 문을 사용할 때 사용하시면 좋은 효과를 볼것입니다.
Ex)
<table>
<% For Each fld in rs.Fields %>
<th><%=fld.Name%></th>
<%
Next
While Not rs.EOF
%>
<tr>
<% For Each fld in rs.Fields %>
<td><%=fld.Value%></td>
<% Next %>
</tr>
<% rs.MoveNext
Wend %>
</table>


아래에 있는 더 효율적인 코드는 행마다 응답 스트림에 쓰기가 하나 있습니다. 모든 코드는 하나의 VBScript 블록에 포함됩니다.
<table>
<%
For each fld in rs.Fields
    Response.Write ("<th>" & fld.Name & "</th>" & vbCrLf)
Next
While Not rs.EOF
    Response.Write ("<tr>")
    For Each fld in rs.Fields
        Response.Write("<td>" & fld.Value & "</td>" & vbCrLf)
    Next
    Response.Write "</tr>"
End
%>

</table>



*세션 개체의 현명한 사용

ASP는 자동으로 웹 서버에 접근하는 모든 사용자를 위한 세션을 작성합니다. 각 세션은 약 10 KB의 메모리 오버헤드(세션에 저장된 모든 데이터의 상단에 있는)를 갖고 있어서 모든 요청을 약간 늦춥니다. 세션은 구성할 수 있는 시간 제한 기간동안 유효하며 이 제한 시간은 일반적으로 20분입니다.
세션이 필요하지 않은 컨텐츠(도움말 화면, 방문자 영역 등)를 세션이 꺼진 별도의 ASP 응용 프로그램으로 옮길 수 있습니다. 각 페이지를 기초로 해당 페이지에 세션 개체가 필요 없다는 것을 알리기 위해 다음과 같은 지시어를 ASP 페이지 상단에 놓을 수 있습니다.


< % @EnableSessionState=False %>
이 지시어를 사용하게 되는 이유 중 하나는 세션이 프레임셋과 관심있는 문제를 만드는 것입니다. ASP는 언제나 한번에 한 세션에서 하나의 요청만이 실행되도록 보장합니다. 따라서 브라우저가 한 사용자를 위해 여러 페이지를 요청하면 한번에 단지 하나의 ASP 요청만이 세션에 전달되기 때문에 세션 개체에 액세스할 때 멀티스레딩 문제를 방지하지만 모든 페이지는 동시에 페인트되지 않고 차례로 순차적 방법으로 페인트됩니다. 어떤 프레임셋 페이지가 세션에 의지하지 않는 다면 ASP가 @EnableSessionState=False 지시어를 사용하도록 하십시오

Name
Password
Homepage
Secret

php 생성된 세션알기

웹/웹.php.asp
session_start();
foreach($_SESSION as $key => $value) {
    echo "session id : ".$key;    
    echo "session value : ".$value;
    echo "<br>";
}

출처 : Tong - 새싹의 노래님의 PHP통

Name
Password
Homepage
Secret

php 특정폴더 용량 확인

웹/웹.php.asp

특정폴더 이하의 자료용량을 체크하는 php코드입니다.


<?

  $dir = "/home/myhome/chkdir";    // 체크하고 싶은 디렉토리 설정

  $dirsize = `du -sh $ddir | awk '{print $1}'`;
  echo $dirsize;
?>

Name
Password
Homepage
Secret

insert into 구문 만들어주는 프로시저

웹/웹.php.asp

insert into 테이블 구문을 만들때.. 컬럼이 많으면 상당히 손가락이 아파온다.
그러므로 그 아픈 insert into구문을 자동생성하게끔 만든 프로시저이다.

잘 만든것은 아니지만 유용하게 쓰시길...

/*
==========================================================================================
Insert Into 구문 만들어주는 프로시저
==========================================================================================*/
Create Procedure SP_Insert
(
 @objName nvarchar(100)
)
as
/*
___________________________________________________________________
Name:  'Insert into' SPROC Builder
Version: 1
Date:  2006/02/20
Author:  Eun-Sung Kim( Silvercastle )
Description:
insert into 테이블 구문을 만들때.. 컬럼이 많으면 상당히 손가락이 아파온다.
그러므로 그 아픈 insert into구문을 자동생성하게끔 만든 프로시저이다.
잘 만든것은 아니지만 유용하게 쓰시길 바라며.. 
 
*/
SET NOCOUNT ON
SELECT distinct
 dbo.syscolumns.name AS ColName,
 dbo.syscolumns.colorder AS ColOrder,
 dbo.syscolumns.length AS ColLen,
 dbo.systypes.xtype
INTO #t_obj
FROM        
 dbo.syscolumns INNER JOIN
 dbo.sysobjects ON dbo.syscolumns.id = dbo.sysobjects.id INNER JOIN
 dbo.systypes ON dbo.syscolumns.xtype = dbo.systypes.xtype
WHERE    
 (dbo.sysobjects.name = @objName)
 AND
 (dbo.systypes.status <> 1)

DECLARE Table_Cursor CURSOR FOR( SELECT * FROM #t_obj )
OPEN Table_Cursor

 Declare @col_name nvarchar(100)
 Declare @col_Order int
 Declare @col_len int
 Declare @col_xtype int
 Declare @Len int
 Declare @type_name varchar(100)

FETCH NEXT FROM Table_Cursor
INTO @col_name, @col_Order, @col_len, @col_xtype

Declare @SelectSQL varchar(3000)
Set @SelectSQL = 'insert into ' + @objName + '( ' + @col_name + ', '

WHILE @@FETCH_STATUS = 0
BEGIN

   FETCH NEXT FROM Table_Cursor
 INTO @col_name, @col_Order, @col_len, @col_xtype

 Set @SelectSQL = @SelectSQL + @col_name + ', '

END
 
 Set @Len = len(@SelectSQL) - len(@col_name) - 2

 Set @SelectSql = Stuff(@SelectSQL, @Len,  len(@col_name) + 3, '')

 Set  @SelectSQL = @SelectSQL + ') '

 print @SelectSQL

CLOSE Table_Cursor
DEALLOCATE Table_Cursor

DECLARE Table_Cursor CURSOR FOR( SELECT * FROM #t_obj )
OPEN Table_Cursor

FETCH NEXT FROM Table_Cursor
INTO @col_name, @col_Order, @col_len, @col_xtype

Set @SelectSQL = 'values( ' +

CASE @col_xtype
    WHEN 34 THEN 'Image'
    WHEN 35 THEN 'Text'
    WHEN 48 THEN 'TinyInt'
    WHEN 52 THEN 'SmallInt'
    WHEN 56 THEN 'Int'
    WHEN 58 THEN 'SmallDateTime'
    WHEN 59 THEN 'Real'
    WHEN 60 THEN 'Money'
    WHEN 61 THEN 'DateTime'
    WHEN 62 THEN 'Float'
    WHEN 99 THEN 'NText'
    WHEN 104 THEN 'Bit'
    WHEN 106 THEN 'Decimal'
    WHEN 122 THEN 'SmallMoney'
    WHEN 127 THEN 'BigInt'
    WHEN 165 THEN 'VarBinary'
    WHEN 167 THEN 'VarChar'
    WHEN 173 THEN 'Binary'
    WHEN 175 THEN 'Char'
    WHEN 231 THEN 'NVarChar'
    WHEN 239 THEN 'NChar'
    ELSE '!MISSING'
end

+ '(' + Convert(varchar(10),@col_len) + ')' + ', '


WHILE @@FETCH_STATUS = 0
BEGIN

   FETCH NEXT FROM Table_Cursor
 INTO @col_name, @col_Order, @col_len, @col_xtype

 Set @type_name =

CASE @col_xtype
    WHEN 34 THEN 'Image'
    WHEN 35 THEN 'Text'
    WHEN 48 THEN 'TinyInt'
    WHEN 52 THEN 'SmallInt'
    WHEN 56 THEN 'Int'
    WHEN 58 THEN 'SmallDateTime'
    WHEN 59 THEN 'Real'
    WHEN 60 THEN 'Money'
    WHEN 61 THEN 'DateTime'
    WHEN 62 THEN 'Float'
    WHEN 99 THEN 'NText'
    WHEN 104 THEN 'Bit'
    WHEN 106 THEN 'Decimal'
    WHEN 122 THEN 'SmallMoney'
    WHEN 127 THEN 'BigInt'
    WHEN 165 THEN 'VarBinary'
    WHEN 167 THEN 'VarChar'
    WHEN 173 THEN 'Binary'
    WHEN 175 THEN 'Char'
    WHEN 231 THEN 'NVarChar'
    WHEN 239 THEN 'NChar'
    ELSE '!MISSING'
end
 
 Set @SelectSQL = @SelectSQL + @type_name + '(' + Convert(varchar(10),@col_len) + ')'  + ', '

END

 Set @Len = len(@SelectSQL) - len(@type_name) - 2 - len(@col_len) -2

 Set @SelectSql = Stuff(@SelectSQL, @Len,  len(@type_name) + 3 + len(@col_len) + 2, '')

 Set  @SelectSQL = @SelectSQL + ') '

 print @SelectSQL

CLOSE Table_Cursor
DEALLOCATE Table_Cursor

DROP TABLE #t_obj
SET NOCOUNT OFF





실행방법

====================================================================================

Exec SP_insert titles

====================================================================================


출력화면

====================================================================================

insert into titles( title_id, title, type, pub_id, price, advance, royalty, ytd_sales, notes, pubdate )

values( VarChar(6), VarChar(80), Char(12), Char(4), Money(8), Money(8), Int(4), Int(4), VarChar(200), DateTime(8) )

====================================================================================

Name
Password
Homepage
Secret

티스토리 툴바