신문사의 뉴스가져 오기

각 신문사의 최신아이티 뉴스가져 오기
원래는 화일 분리 해서 만들었는데 여따 올릴랑께 쭈욱 썼습니다.
그냥 심심해서 만들어 봤습니다.
급조 한기라서 안이쁘게 했고 잡팁은 더더욱 없네여 ^^
그냥 오늘자 아이티 뉴스를 가져오는기 입니다.

그리두 이거 확장하면 꽤 쓸만할낍니다.
수정 부분있음 말해 주샤요

$fp = fopen($url, “r”);

while(!feof($fp)){
$tmp = fgets($fp, 1024);
$temp .= $tmp;
}

fclose($fp);

return $temp;
}//function get

function Strip($all){// 링크랑 제목만 빼오기

$link_pm=strpos($all,”>”);

$link=substr($all,0,$link_pm);

if(!$link) return;

if(ereg(“””,$link)){

$link_p=strpos($link,”””);
$link=substr($link,$link_p+1);
$link_p=strpos($link,”””);

$link=substr($link,0,$link_p);
}

if(ereg(“‘”,$link)){

$link_p=strpos($link,”‘”);
$link=substr($link,$link_p+1);
$link_p=strpos($link,”‘”);

$link=substr($link,0,$link_p);
}

$link=trim($link);

$substr=substr($all,$link_pm+1);
$substr_p=strpos($substr,”“);
$substr=substr($substr,0,$substr_p);
$strip=strip_tags($substr);
$strip=trim($strip);

return array(link => $link, sub => $strip);
}//function strip($all)

function makeUrl($Url, $Link){

if(!strpos($Link,”http://”) && substr_count(“$Link”,”http://”)) return $Link;

$eURL = pathinfo(“$Url”);

$host = parse_url($Url);
$host = $host[scheme].”://”.$host[host];

$Link = “/”.$Link; //링크가 루트인지 확인위해 임의로 붙인다.
if(substr_count(“$Link”,”../”)){ //한칸앞으로

$Link = str_replace(“./../”, “”, $Link);
$Link = str_replace(“../”, “”, $Link);

$pos = strrpos($eURL[“dirname”], “/”);
$makeUrl = substr($eURL[“dirname”],0,$pos);

$makeUrl = “$makeUrl”.”$Link”;

}else if(substr_count(“$Link”,”//”) && !strpos($Link, “//”)){ //루트로 가라

$makeUrl = $host.”/”.str_replace(“//”, “”, $Link);

}else{ //제자리

$Link = str_replace(“./”, “”, $Link);
$makeUrl = $eURL[“dirname”].”$Link”;
}

return $makeUrl;
}
////////////////////////////////////// 펑션끝
$date_Y = date(“Y”);
$date_M = date(“m”);
$date_D = date(“d”);

$mdate = “$date_Y.$date_M.$date_D”; //확장성 위해 이르케
////////////////////////////////////////////////////////////<== 신문사별설정 추가가능 $newspaper[] = “조선일보”;
$URL[] = “http://www.chosun.com/it/”;
$like[] = “$date_Y$date_M$date_D”;

$newspaper[] = “중앙일보”;
$URL[] = “http://www.joins.com/it/list/it_list.html”;
$like[] = “$date_Y$date_M$date_D”;

$newspaper[] = “동아일보”;
$URL[] = “http://www.donga.com/fbin/output?f=totalk&code=k__”;
$like[] = “$date_Y$date_M$date_D”;

////////////////////////////////////////////////////////////<== 여그까지 신문사별설정 for($x=0; $x < sizeof($newspaper); $x++){ $temp = get($URL[$x]); $all = split(“href =|HREF =|href=|HREF=”,$temp);//–> url 추출

for($i=0; $i < sizeof($all); $i++){ $kisa = Strip($all[$i]); if(ereg($like[$x], $kisa[link]) && 20 < strlen($kisa[sub])){ $LinkURL = makeUrl($URL[$x], $kisa[link]);
echo “
[$newspaper[$x]]$kisa[sub]
“;
}//if(ereg($like[$x], $kisa[link]) && 20 < strlen($kisa[sub]))
}//for($i=0; $i < sizeof($all); $i++)
}//for($x=0; $x < sizeof($newspaper); $x++)
?>

mysql 콘솔을 활용하자

조나단

mysql 콘솔클라이언트보다 요즘은 phpMyAdmin 같은 관리툴을 많이 사용하는것 같습니다.
콘솔클라이언트도 나름대로 잘 사용하면 유용하게 사용할수 있습니다.
제가 자주 쓰는 몇가지 기능을 소개할까 합니다.
여기다가 그냥 바로 생각나는 대로 쓰는 관계로 좀 정리가 안될수도 있겠네요.

1. 쿼리 결과 정렬방식
mysql> use mysql
mysql> select * form user where user = ‘root’ ;
이런식으로 사용했을경우 결과가 좌우로 길게 나와 보기가 불편하다구요?
그럼 이렇게 사용해보세요.
mysql> select * from user where user=’root’ G
그럼 세로로 결과를 출력합니다.

설명) ; 와 g 는 가로출력 G 세로 출력입니다.

2. 쿼리 에디터
길게 입려한 쿼리의 이부분만 고치고 싶은데 수정이 불편한가요?

mysql > use mysql
mysql > select * from user where user=’root’
mysql > and host=’localhost’ and Select_priv = ‘Y’
mysql > and Insert_priv = ‘Y’ ;
자 이렇게 길게 쿼리를 날렸는데 이중에 일부분만 수정해야 한다면
mysql> e
그러면 vi 에디터가 실행됩니다. 여기서 적절히 수정하신후 저장후 종료 (:wq) 하시고
mysql> G
; g G 를 넣어주시면 편집한 내용이 실행됩니다.

3. 쿼리 기록
결과나 쿼리 내용을 파일로 저장하고 싶다구요?

msyql> tee /tmp/test.txt
이후에 사용하는 모든 내용은 test.txt 에 남게 됩니다.
해제는
mysql> notee

한글과 영문 사이트 완벽 구분하기

영문 브라우저인지 한글 브라우저 인지 구분하는 방법입니다

쿠키를 사용할때 문제점을 제거 했구요 그럼

좋은 정보가 되길바랍니다 어느분이 올려놓은 자료 좀 수정했습니다
테스트 및 데모 http://dot.co.sr 브라우저에서 언어 설정후 보실수 있습니다
php로만 되어 있구요…

// 접속시 한글 부라우져인지 아닌지를 따져서 페이지를 이동한다….
// $HTTP_ACCEPT_LANGUAGE 를 이용한다
if(preg_match(‘/ko/’, $HTTP_ACCEPT_LANGUAGE)) {
header(“Location: http://dot.co.sr/kr/”);
exit;
}
//이 부분을 보세요…………… 영문 방문자의 경우 en_frame으로 가게 됩니다.
else {
header(“Location: http://dot.co.sr/eng/”);
exit;
}
?>

reg_replace 로 한번에 여러 파일 이름 바꾸기

우수한

맨날 보고만 가기 미안해서….. 초허접 강좌 하나 올립니다.
중급자 이상은 보지 마세요.

갑자기 후배가 이런 부탁을 하는군요.
서버에 html123_image345.jpg, html123_image456.gif 이런 파일이 있는데
이걸 html123_image346.jpg, html123_image457.jpg 라는 이름으로 바꾸고 싶다구요.
즉 파일 이름에 들어있는 숫자를 찾아내서 그 숫자만 1씩 증가를 시키고 싶다는 겁니다.
자, 한번 해볼까요.

// 먼저 간단히 환경설정을 잡아줍니다.

// 실행할 디렉토리 (물론 쓰기 퍼미션이 있어야겠죠)
$path = “./”;

// 파일이름에서 몇번째 나오는 숫자를 선택해 바꿀 것인가
$what_number = 2;

// 그럼 해당 디렉토리의 파일을 읽어옵니다.
$files=array();
if (is_dir($path)) {
$p = opendir($path);
while($name = readdir($p)) {
if (is_file(“$path/$name”)) $files[] = $name;
}
closedir($p);
}

//이제 파일 이름을 주욱 훑으면서 이름을 바꿔야 하는데요.
//잠깐, 주의할 게 있습니다. 456을 457로 바꾸는데, 이미 457이라는 파일이 존재하면 안되겠죠.
//그러니 역순으로 작업을 하기로 합시다.
rsort($files);

// 파일을 하나씩 살펴서 이름을 바꿉니다.
// 여기서 팁은 preg_replace 를 사용할때 e 플래그를 주면
// PHP코드를 사용할 수 있다는 겁니다.
$cnt=$success=0;
$pattern = “/(^D+”.str_repeat(“d+D+”, $what_number-1).”)(d+)/”;
foreach ($files as $filename) {
if (preg_match($pattern, $filename)) {
$new_filename = preg_replace($pattern.”e”, “‘\1’.(intval(‘\2’)
+1)”, $filename, 1);
echo $filename.”을 “.$new_filename.”으로 바꾸기…”;
if (@rename($filename, $new_filename)) {
echo “성공

“;
$success++;
} else echo “실패

“;
$cnt++;
}
}

echo $cnt.”개 파일 중에서 “.$success.”개 파일을 처리했습니다
“;

?>

이제 보면 아시겠지만, 파일 이름이 숫자로 시작되는 경우에는
위의 이름 변경 기능이 작동하지 않습니다. 다른 버그가 있을 수도….. –;;
후배의 필요에 따라 급조한 거고, 실제 쓰일 일이 별로 없는 스크립트입니다만
필요하신 분들은 좀더 유연하게 만들어서 쓰실 수 있겠죠.
이건 do it yourself! 🙂

db 유저랑 한번에 생성하기

아나시스

새로운 db를 생성하고 해당 유저에 권한을 줄때마다 필요한 스크립트 파일 입니다..
한번만 만들어 놓으면 간단한 설정으로 쉽게 사용할 수 있습니다..

$DB_CONNECT = mysql_connect(“localhost”,”rootid”,”rootpass”); //rootid=루트아이디 rootpass=루투패스
mysql_select_db(“mysql”, $DB_CONNECT);

$make_db=”db_name”; //디비 이름설정
$user_id=”user_id”; //디비 유저아이디
$userpass=”user_password”; //디비 패스워드

$query=mysql_query(“create database $make_db”) or die(mysql_error());

if($query)
{
echo “$make_db 데이타베이스를 생성했습니다
“;
}else{
echo “$make_db 데이타베이스를 생성 실패
“;
}

$query1=mysql_query(“insert into db values(‘%’,’$make_db’,’$user_id’,’y’,’y’,’y’,’y’,’y’,’y’,’y’,’y’,’y’,’y’)”);
if($query1)
{
echo “$make_db 권한 추가 성공
“;
}else{
echo “$make_db 권한 추가 실패
“;
}

$query2=”insert into user values(‘%’,’$user_id’,password(‘$userpass’),’N’,’N’,’N’,’N’,’N’,’N’,’N’,’N’,’N’,’N’,’N’,’N’,’N’,’N’)”;
$query2=mysql_query($query2) or die(mysql_error());

if($query2)
{
echo “$make_db 유저 추가 성공
“;
}else{
echo “$make_db 유저 추가 실패
“;
}

$query3=mysql_query(“flush privileges”);
if($query3)
{
echo “$make_db refresh 추가 성공
“;
}else{
echo “$make_db refresh 추가 실패
“;
}

mysql_close($DB_CONNECT);

?>