shortcut 에드온 추가 후 첨부파일 창이 뜨지 않았으며,

Uncaught SyntaxError: Unexpected identifier  해당 에러가 발생하고 있었습니다.


해당 문제로 인하여 jquery 실행이 정상적으로 되지 않아 첨부파일 창이 뜨지 않았던 것으로 확인되었으며,
shortcut 에드온 삭제 후 정상적으로 창이 뜨기 시작하였습니다.


아래와 같이 I'd 부분으로 인하여 스크립트에러 발생.

var addon_shortcut_var='<div style="text-align: center"><a class="zocial secondary"
href="http://도메인">i'm aaa</a></div>'; </script>
2013/05/20 10:30 2013/05/20 10:30
메일발송로그에서 _Invalid_'From'_header:_=?utf-8?b?d2VibWFzdGVy?=_<>/ 와 같이 출력되고
메일이 발송되지 않을 시 XE 관리자 페이지에서 웹마스터 이름, 웹마스터 메일주소가 설정되어 있지 않을 가능성이 크다.

[XE 관리자 - 회원 - 회원설정]에서 웹마스터 이름, 웹마스터 메일주소를 설정 후 확인해 보면 된다.


2013/04/11 15:33 2013/04/11 15:33
$HTTP_SESSION_VARS[] 변수형식은 php 5.2 이하부터 사용이 가능하며,
php 5.3 이상부터는 사용할 수 없어 로그인이 안되는 경우가 발생한다.

버전을 php 5.2로 변경하면 정상적인 것을 확인할 수 있다.
2013/03/01 12:00 2013/03/01 12:00

$_FILES['userfile']['tmp_name'] 값이 출력되지 않는다면,

MAX_FILE_SIZE 설정에 걸려 발생되는 것이니 사이즈를 키운후 확인해 보면 된다.


form.php

<form enctype="multipart/form-data" action="up.php" method="POST">
    <!-- input의 name은 $_FILES 배열의 name을 결정합니다 -->
    이 파일을 전송합니다: <input name="userfile" type="file" />
    <input type="submit" value="파일 전송" />
</form>

up.php
<?php
$uploaddir = '/home/hosting_users/rightedu/www/uploads/lets_question/';
$uploadfile = $uploaddir . $_FILES['userfile']['name'];

echo '<pre>';
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
    echo "파일이 유효하고, 성공적으로 업로드 되었습니다.\n";
} else {
    print "파일 업로드 공격의 가능성이 있습니다!\n";
}

echo '자세한 디버깅 정보입니다:';
print_r($_FILES);

print "</pre>";

?>
2013/02/25 15:26 2013/02/25 15:26
mail() 함수사용 시 메일 로그에도 쌓이지 않고 메일이 발송되지 않는다면
php.ini 설정 sendmail_path 설정이 정상적으로 되어 있는 지 확인해 봐야 한다.

sendmail_path 설정이 정상적으로 되어 있다면
설정되어 있는 메일 바이너리 파일의 소유권, 권한을 확인해 봐야 한다.


기본적으로 qmail의 경우 6755 퍼미션에 nobody 소유권을 가져야 한다.


  File: `/var/qmail/bin/qmail-inject'
  Size: 5907666         Blocks: 11568      IO Block: 4096   regular file
Device: 805h/2053d      Inode: 322331      Links: 1
Access: (6755/-rwsr-sr-x)  Uid: (   99/  nobody)   Gid: (   99/  nobody)
Access: 2008-11-12 07:35:17.000000000 +0900
Modify: 2008-11-11 19:44:36.000000000 +0900
Change: 2013-01-07 20:09:55.000000000 +0900
2013/01/07 20:15 2013/01/07 20:15

php mssql 연동 소스

PHP 2012/12/24 13:50

<meta http-equiv="Content-Type" content="text/html; charset=euc-kr" />
<?
$mssql_host = 'HOST:PORT';
$mssql_user = 'ID';
$mssql_password = 'PASSWORD';
$mssql_db = 'DBNAME';
$conn = mssql_connect($mssql_host,$mssql_user,$mssql_password);
mssql_select_db($mssql_db, $conn);

$result1 = mssql_query("insert into testhan values('한글')");
$result = mssql_query("SELECT t1 FROM testhan");

while ($row = mssql_fetch_row($result)) {
echo $row[0]."<br>";
}

mssql_close($conn);
?>

mssql 기본 포트는 1433이며, freetds.conf 파일에 아래와 같이 port 설정이 되어 있다면 별도로 하지 않아도됨.

freetds.conf

[global]
        tds version = 8.0
        client charset = CP949
        port = 1433
2012/12/24 13:50 2012/12/24 13:50

php 세션 공유 설정.

PHP 2012/11/30 19:11

.htaccess
PHP_VALUE session.save_path = /tmp
PHP_VALUE session.cookie_domain .domain.co.kr
2012/11/30 19:11 2012/11/30 19:11

php4 repository

PHP 2012/10/06 18:02

* Configure YUM installer by creating file /etc/yum.repos.d/conforge.repo with the following content:

[conforge]
name=Conforge package for CentOS $releasever - $basearch
baseurl=http://repo.conforge.com/conforge/CentOS/$releasever/$basearch
enabled=1
gpgcheck=0
2012/10/06 18:02 2012/10/06 18:02
템플릿언더바(Template Underscore)의 사용 목적은 PHP 프로그램으로부터 프레젠테이션 로직을 효과적으로 분리하는 데 있습니다. 이렇게 함으로써 프로그래머는 페이지출력의 흐름에 따라 PHP코드를 삽입하는 형식 대신에, 페이지구성요소를 모듈화하고 사용할 요소들을 인덱싱하는 형태의 메인프로세스를 작성할 수 있으며, 디자이너에게는 동적데이터 처리를 위한 간결한 인터페이스를 제공하게 됩니다.

대략적인 사용방법은 아래 URL를 참고하면 된다.

http://xtac.net/tutorial1/
2012/09/19 13:43 2012/09/19 13:43

출처 : http://blog.naver.com/soo9585/80023256739

<?
if($mode=='mailsend') { // $mode 값이 mailsend 일 경우 아래 내용 실행
$limit = 5; // 첨부파일 제한 용량 (단위:MB)

#### 에러 발생시 back("에러문",이동할 페이지수) 함수를 사용하여 에러출력 후 지정한 페이지 수만큼 뒤로 이동함 ###
function back($str,$no=-1) {
echo "<script>
window.alert(\"".$str."\")
history.go(".$no.")
</script>
";
}

// $to 값이 공백일 경우 에러출력 후 한페이지 뒤로 이동
if(!ereg("([^[:space:]]+)",$to)) {
back("메일을 받는사람의 메일주소가 필요합니다.");
exit;
}

// $to 값이 정확한 이메일 주소가 아닐 경우 에러출력 후 한페이지 뒤로 이동
if(!ereg("([a-zA-Z0-9,_]{2,15})@([a-zA-Z0-9]{2,15}).([a-zA-Z0-9]{2,15})", $to, $regs)) {
back("받는사람의 Email 주소 형식이 틀립니다. [예] [email protected]");
exit;
}
// $subject 값이 공백일 경우 에러출력 후 한페이지 뒤로 이동
if(!ereg("([^[:space:]]+)",$subject)) {
back("메일 제목이 없습니다. 메일 제목을 입력해 주십시오.");
exit;
}

$boundary = "----".uniqid("part"); // 이메일 내용 구분자 설정

## 헤더생성 ##
$header .= "Return-Path: $from\r\n"; // 반송 이메일 주소
$header .= "From: $from\r\n"; // 보내는 사람 이메일 주소
$header .= "MIME-Version: 1.0\r\n"; // MIME 버전 표시
$header .= "Content-Type: Multipart/mixed; boundary = \"$boundary\""; // 구분자가 $boundary 임을 알려줌

## 여기부터는 이메일 본문 생성 ##
$mailbody .= "This is a multi-part message in MIME format.\r\n\r\n"; // 메세지
$mailbody .= "--$boundary\r\n"; // 내용 구분 시작

//내용이 일반 텍스트와 html 을 사용하며 한글이라고 알려줌
$mailbody .= "Content-Type: text/html; charset=\"ks_c_5601-1987\"\r\n";
//암호화 방식을 알려줌
$mailbody .= "Content-Transfer-Encoding: base64\r\n\r\n";
//이메일 내용을 암호화 해서 추가
$mailbody .= base64_encode(nl2br($body))."\r\n\r\n";

## 첨부 파일 개수만큼 루프를 돌면서 본문에 추가함 ##
for($i=0;$i<count($userfile);$i++) {
if($userfile[$i]) {
// $limit 으로 설정한 용량 보다 클경우 에러 출력 후 뒤로 이동
if($userfile_size[$i] > ($limit * 1024 * 1024)) {
back(($i+1)."번째 첨부파일이 제한용량(".$limit."MB)을 초과하였습니다.");
exit;
}

$filename = basename($userfile_name[$i]); // 파일명만 추출 후 $filename에 저장
$fp = fopen($userfile[$i], "r"); // 파일 open
$file = fread($fp, $userfile_size[$i]); // 파일 내용을 읽음
fclose($fp); // 파일 close

// 파일첨부파트
$mailbody .= "--$boundary\r\n"; // 내용 구분자 추가
// 여기부터는 어떤 내용이라는 것을 알려줌
$mailbody.= "Content-Type: ".$userfile_type[$i]."; name=\"".$filename."\"\r\n";
//암호화 방식을 알려줌
$mailbody .= "Content-Transfer-Encoding: base64\r\n";
// 첨부파일임을 알려줌
$mailbody .= "Content-Disposition: attachment; filename=\"".$filename."\"\r\n\r\n";
// 파일 내요을 암호화 하여 추가
$mailbody .= base64_encode($file)."\r\n\r\n";
}
}

/*
위에서 생성된 $header 와 $mailbody 를 mail() 함수를 이용해서 $to 에게 보냄
만약 메일 전송 실패시 에러출력 후 첫화면으로 이동
*/
if(!mail($to,addslashes($subject),$mailbody,$header)) back("이메일 발송해 실패 하였습니다.");
else echo "<script>alert('메일을 발송하였습니다.');location.replace('?');</script>";

// 아래 html 의 경우 특별히 설명이 필요 없을 듯 하네요...^^
} else { // $mode 값이 mailsend 가 아닐경우 아래 내용 실행
?>
<html>
<head>
</head>
<body text="white" link="#CDEFFF" vlink="#DCD8FF" alink="#FFD2CD">
<table border="0" width="600">
<form method="post" name="form" enctype="multipart/form-data" action="">
<input type=hidden name="mode" value="mailsend">
<tr>
<td width="200" bgcolor="#5584AA"><p align="center">받는사람 Email</td>
<td><p><input type="text" name="to" size="30"></td>
</tr>
<tr>
<td width="200" bgcolor="#5584AA"><p align="center">보내는사람 Email</td>
<td><p><input type="text" name="from" size="30"></td>
</tr>
<tr>
<td width="200" bgcolor="#5584AA"><p align="center">제 목</td>
<td><p><input type="text" name="subject" size="50"></td>
</tr>
<tr>
<td width="200" bgcolor="#5584AA"><p align="center">내 용</td>
<td><p><textarea name="body" rows="10" cols="55"></textarea>
</tr>
<tr>
<td width="200" bgcolor="#5584AA"><p align="center">첨 부</td>
<td>
<p><input type="file" name="userfile[]" size="30"><br>
<input type="file" name="userfile[]" size="30"><br>
<input type="file" name="userfile[]" size="30"><br>
<input type="file" name="userfile[]" size="30"><br>
<input type="file" name="userfile[]" size="30">
</td>
</tr>
<tr>
<td colspan=2 align=center><br>
<input type="submit" name="send" value="편지보내기">
<input type="reset" name="cancel" value="내용지우기">
</td>
</tr>
</form>
</table>

<?
}
?>

2012/08/20 19:30 2012/08/20 19:30