문서를 수정하고 그 시간을 알고싶으면? 간혹 홈페이지에
이문서는 2000.xx.xx 일 몇시에 수정한 거에요
라고 있죠?
그소스입니다.
간단합니다
echo “
Last modified: “.date( “F m d Y H:i:s.
“, getlastmod() );
문서를 수정하고 그 시간을 알고싶으면? 간혹 홈페이지에
이문서는 2000.xx.xx 일 몇시에 수정한 거에요
라고 있죠?
그소스입니다.
간단합니다
echo “
Last modified: “.date( “F m d Y H:i:s.
“, getlastmod() );
웹페이지 상의 문서를 엑셀이나, 파워포인트, 위드 문서로 변환해 줘야 되는 경우 아래와 같은 방법을 쓰면 상당히 쉽게 해결이 되지요.
만약에 엑셀 파일로 변환을 하고 싶으시면
header(“Content-Type: application/vnd.ms-excel”);
?>
저 부분을 태그 앞에 넣으면 끝나지요.
저 페이지가 호출이 되면 오피스가 깔려있는 사용자들은 저장할것인지 그냥 열것인지를 물어보구여, 안깔려 있는 사용자들은 파일을 다운받을수 있게 되지요.
그럼 워드 파일은
header(“Content-Type: application/msword”);
?>
파워포인트 역시 같은 방법으로
header(“Content-Type: application/vnd.ms-powerpoint”);
?>
그럼 마지막으로 ASP에서는
<%
Response.Buffer = TRUE
Response.ContentType = “application/vnd.ms-excel”
%>
나머지는 응용이 가능하시겠지여?
알고보면 상당히 쉬운방법인데 저 방법을 몰라서 고민하시는 분들이 꽤 되시더라구요.
그럼 도움이 되시길. ^^
다음은 header 내용을 변경해서 excel로 바꾸어 주는 구문입니다.
* excel.php
header(“Content-type: application/vnd.ms-excel”);
header(“Content-Disposition: attachment; filename=test.xls”);
header(“Content-Description: PHP4 Generated Data”);
?>
| 테스트1 | 테스트1 | 테스트1 | 테스트1 |
| 테스트2 | 테스트2 | 테스트2 | 테스트2 |
실행시켜보세요. 어떻게 되죠? test.xls 이름으로 excel 화일이 다운로드 되죠.
혹 DB내용을 excel형태로 출력해야될 때 유용할거 같습니다.
안녕하세요..
회원가입이라든지 기타 입력값을 받을때 select 혹은 radio 버튼으로 구성되어 있는 폼에서
수정화면을 보여줘야 할경우 기존에 선택했던 값들을 보여주게 됩니다.
다음과 같이 자바스크립트 코드를 삽입한뒤에 document.onload 를 이용해
입력시 선택했던것들이 선택되게 해봤습니다..
저 이번에 홈페이지를 하나 만들려고 하는데
사진이 필요해서 그러는데 사진을 사용을 해도 될까 해서 글을 올립니다.
그럼 답변좀 부탁드립니다.
홈페이지가 이쁘네요.
그럼, 수고하세요…
/* 파일명 : class.Smtp.php
/* 제작일 : 2002-08-30
/* 제작자 : 하근호(hopegiver@korea.com)
/***************************************/
class Smtp {
var $host;
var $fp;
var $self;
var $lastmsg;
var $parts;
var $error;
var $debug;
var $charset;
var $ctype;
function Smtp($host=”localhost”) {
if($host == “self”) $this->self = true;
else $this->host = $host;
$this->parts = array();
$this->error = array();
$$this->debug = 0;
$this->charset = “euc-kr”;
$this->ctype = “text/html”;
}
// 디버그 모드 : 1
function debug($n=1) {
$this->debug = $n;
}
// smtp 통신을 한다.
function dialogue($code, $cmd) {
fputs($this->fp, $cmd.”
“);
$line = fgets($this->fp, 1024);
ereg(“^([0-9]+).(.*)$”, $line, &$data);
$this->lastmsg = $data[0];
if($this->debug) {
echo htmlspecialchars($cmd).”
“.$this->lastmsg.”
“;
flush();
}
if($data[1] != $code) return false;
return true;
}
// smptp 서버에 접속을 한다.
function smtp_connect($host) {
if($this->debug) {
echo “SMTP($host) Connecting…
“;
flush();
}
if(!$host) $host = $this->host;
if(!$this->fp = fsockopen($host, 25, $errno, $errstr, 10)) {
$this->lastmsg = “SMTP($host) 서버접속에 실패했습니다.[$errno:$errstr]”;
return false;
}
$line = fgets($this->fp, 1024);
ereg(“^([0-9]+).(.*)$”, $line, &$data);
$this->lastmsg = $data[0];
if($data[1] != “220”) return false;
if($this->debug) {
echo $this->lastmsg.”
“;
flush();
}
$this->dialogue(250, “HELO phpmail”);
return true;
}
// stmp 서버와의 접속을 끊는다.
function smtp_close() {
$this->dialogue(221, “QUIT”);
fclose($this->fp);
return true;
}
// 메시지를 보낸다.
function smtp_send($email, $from, $data) {
if(!$mail_from = $this->get_email($from)) return false;
if(!$rcpt_to = $this->get_email($email)) return false;
if(!$this->dialogue(250, “MAIL FROM: $mail_from”))
$this->error[] = $email.”:MAIL FROM 실패($this->lastmsg)”;
if(!$this->dialogue(250, “RCPT TO: $rcpt_to”))
$this->error[] = $email.”:RCPT TO 실패($this->lastmsg)”;
$this->dialogue(354, “DATA”);
$mime = “Message-ID: <".$this->get_message_id().”>
“;
$mime .= “From: $from
“;
$mime .= “To: $email
“;
fputs($this->fp, $mime);
fputs($this->fp, $data);
$this->dialogue(250, “.”);
}
// Message ID 를 얻는다.
function get_message_id() {
$id = date(“YmdHis”,time());
mt_srand((float) microtime() * 1000000);
$randval = mt_rand();
$id .= $randval.”@phpmail”;
return $id;
}
// Boundary 값을 얻는다.
function get_boundary() {
$uniqchr = uniqid(time());
$one = strtoupper($uniqchr[0]);
$two = strtoupper(substr($uniqchr,0,8));
$three = strtoupper(substr(strrev($uniqchr),0,8));
return “—-=_NextPart_000_000${one}_${two}.${three}”;
}
// 첨부파일이 있을 경우 이 함수를 이용해 파일을 첨부한다.
function attach($message, $name=””, $ctype=”application/octet-stream”) {
$this->parts[] = array (“ctype” => $ctype, “message” => $message, “name” => $name);
}
// Multipart 메시지를 생성시킨다.
function build_message($part) {
$msg .= “Content-Type: “.$part[‘ctype’];
if($part[‘name’]) $msg .= “; name=””.$part[‘name’].”””;
$msg .= “
Content-Transfer-Encoding: base64
“;
$msg .= “Content-Disposition: attachment; filename=””.$part[‘name’].””
“;
$msg .= chunk_split(base64_encode($part[‘message’]));
return $msg;
}
// SMTP에 보낼 DATA를 생성시킨다.
function build_data($subject, $body) {
$boundary = $this->get_boundary();
$mime .= “Subject: $subject
“;
$mime .= “Date: “.date (“D, j M Y H:i:s T”,time()).”
“;
$mime .= “MIME-Version: 1.0
“;
$mime .= “Content-Type: multipart/mixed; boundary=””.$boundary.””
“.
“This is a multi-part message in MIME format.
“;
$mime .= “–“.$boundary.”
“.
“Content-Type: “.$this->ctype.”; charset=””.$this->charset.””
“.
“Content-Transfer-Encoding: base64
“.
chunk_split(base64_encode($body)).
“
–“.$boundary;
$max = count($this->parts);
for($i=0; $i<$max; $i++) {
$mime .= “
“.$this->build_message($this->parts[$i]).”
–“.$boundary;
}
$mime .= “–
“;
return $mime;
}
// MX 값을 찾는다.
function get_mx_server($email) {
if(!ereg(“([._0-9a-zA-Z-]+)@([0-9a-zA-Z-]+.[a-zA-Z.]+)”, $email, $reg)) return false;
getmxrr($reg[2], $host);
if(!$host) $host[0] = $reg[2];
return $host;
}
// 이메일의 형식이 맞는지 체크한다.
function get_email($email) {
if(!ereg(“([._0-9a-zA-Z-]+)@([0-9a-zA-Z-]+.[a-zA-Z.]+)”, $email, $reg)) return false;
return “<".$reg[0].">“;
}
// 메일을 전송한다.
function send($to, $from, $subject, $body) {
if(!is_array($to)) $to = split(“[,;]”,$to);
if($this->self) {
$data = $this->build_data($subject, $body);
foreach($to as $email) {
if($host = $this->get_mx_server($email)) {
$flag = false; $i = 0;
while($flag == false) {
if($host[$i]) {
$flag = $this->smtp_connect($host[$i]);
$i++;
} else break;
}
if($flag) {
$this->smtp_send($email, $from, $data);
$this->smtp_close();
} else {
$this->error[] = $email.”:SMTP 접속실패”;
}
} else {
$this->error[] = $email.”:형식이 잘못됨”;
}
}
} else {
if(!$this->smtp_connect($this->host)) {
$this->error[] = “$this->host SMTP 접속실패”;
return false;
}
$data = $this->build_data($subject, $body);
foreach($to as $email) $this->smtp_send($email, $from, $data);
$this->smtp_close();
}
}
}
/* 사용법
$mail = new Smtp(“self”);
$mail->debug();
$mail->send(“photon0@hanmail.net”, “hopegiver@whois.co.kr”, “이 메일은 정상입니다.”, “정상적인 메일이니 삭제하지 마십시오.”);
*/
?>