카테고리 보관물: ServerScript

여러 개의 문자열 치환하기 (PHP)

얼마 전에 자바크크립트에서 여러 개의 문자열 치환하기를 올렸는데, 이번에는 PHP 입니다.
사실 PHP는 str_replace() 함수에서 기본으로 지원하는 기능이라, 팁이라고 하기 민망하긴 하네요 ㅎㅎ

1
2
3
$replace_search = array("\\", "\"", "\'");
$replace_target = array("\\\\", "\\\"", "\\\'");
echo str_replace($replace_search, $replace_target, $row["detail"]);

위의 코드와 같이 str_replace() 함수는 매개변수에 문자열 뿐 아니라 배열도 넣을 수 있습니다.

참고 URL: PHP: str_replace – Manual

MySQL에서 최근 데이터 조회하기

디비 조회 시에 최근 한 달, 또는 최근 2주 동안의 데이터가 필요할 때 CURRENT_DATEINTERVAL을 사용하면 편하네요.

SELECT * FROM `table` WHERE `date` > CURRENT_DATE - INTERVAL '1' MONTH;
SELECT * FROM `table` WHERE `date` > CURRENT_DATE - INTERVAL '2' WEEK;
SELECT * FROM `table` WHERE `date` > CURRENT_DATE - INTERVAL '10' DAY;

기간도 월, 주, 또는 일 단위 등으로 지정할 수 있습니다.

APMSetup, MySql 에서 한글이 깨질 때

APMSetup을 사용해서 로컬에 테스트 서버를 만들던 중, PHP 페이지에서 한글을 입력하면 DB에 깨져서 저장되는 문제가 생겼습니다. 이것저것 찾아보면서 서버 및 DB의 인코딩 설정도 UTF8로 바꿔봤지만 문제가 해결되지 않더군요. 그래서 조금 더 검색해 보던중, 다음의 코드를 찾았습니다.

mysql_query("set session character_set_connection=utf8;");
mysql_query("set session character_set_results=utf8;");
mysql_query("set session character_set_client=utf8;");

이 코드를 추가해 주면 한글도 DB에 문제없이 입력이 됩니다.

Saving an image with AS3 and PHP: 1. PHP

The following PHP code is the code to save an image, which is uploaded using FileReference or is encoded using ByteArray in a Flash movie. The uploadok.php file can handle all the files, uploaded using FileReference, ByteArray or a file form in an HTML document.
다음 코드는 플래시에서 FileReference를 사용한 업로드 또는 ByteArray로 인코딩된 파일을 저장하기 위한 PHP 코드입니다. 이 uploadok.php 파일 하나로 플래시의 FileReference, ByteArray는 물론 HTML문서의 파일 양식을 통한 업로드도 모두 처리가 가능합니다.
Sorry, Japanese translation is not yet available.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?
/**
 * uploadok.php
 * ------------
 * Author: Han Sanghun (http://hangunsworld.com, hanguns@gmail.com)
 *       Kim Eung (http://eung.co.kr/)
 * Release Version: 1.0.0
 * Date Started: 2007/04/01
 * Last Modified: 2008/01/04
 *
 * Determines the name of the saved file.
 * If "newName" is provided, then uses "newName" as the file's name.
 * Otherwise, uses the original filename("Filedata.name") as the filename.
 *
 * If the original name of the file contains 2-byte characters (e.g. Korean characters), IO error occurs.
 * To avoid this, use "newName" parameter defined in Flash, rather than the "Filedata.name".
 * It is possible to assigns a new name in PHP code explicitly.
 */
 
$newName = trim($_REQUEST["newName"]);
if($newName == ""){
	// If newName is not defined, uses Filedata.name as the filename.
	$newName = $HTTP_POST_FILES['Filedata']['name'];
}
 
// Creates "images" folder, if not exist.
if(!is_dir("./images")){
	mkdir("./images",0777);
}
 
// Sets the path in which the uploaded image to be stored.
$folderPath = $_SERVER['DOCUMENT_ROOT']."/test/images/";
$newPath = $folderPath.$newName;
 
// Moves the temporary file.
@move_uploaded_file($HTTP_POST_FILES['Filedata']['tmp_name'], $newPath);
 
// Returns the saved file path.
echo "/test/images/".$newName;
?>
Special thanks to Kim Eung. He devised the draft of the PHP and AS3 codes. Furthermore, he allowed me to open them to the public.
이 PHP와 AS3 코드의 기틀을 만들고, 이 소스를 공개하는데 흔쾌히 동의하신, 김응 실장님에게 진심으로 감사드립니다.