본문 바로가기

PHP73

첨부파일 수정하기 게을러서 이제야 글을... 기존에 첨부 파일 하나를 추가할 수 있는 기능을 작성했는데, 이번에는 작성한 글을 수정하는 기능도 변경해야 한다. //기존 첨부파일 여부 체크 if(strlen($row['filename']) > 0) { $path = "upload/".$row['filename']; //Array 값으로 분리, [0]에는 "_"이전 값이, [1]에는 "_"이후 값이 들어있다. $chk_name = explode("_", $row['filename']); $old_file = $chk_name[sizeof($chk_name)-1];} 상단에서 일단 첨부파일이 있는지 체크를 한다.그리고, 본문에서 첨부파일이 있을 때는 보여주는 코드를 작성한다. 없다면 그냥 첨부할 수 있는 폼을.. 2008. 12. 7.
PHP 소스코딩법 아래 블로그에 아주 정리가 잘 되어 있어 많은 참고가 되었습니다. http://www.beneglo.com/entry/a-way-of-source-coding?category=3 앞으로는 저도 위의 코딩법대로 작성을 해야겠네요. 2008. 11. 30.
여러 개 파일 첨부하기 여러 개의 파일을 첨부하는 것도 그리 어렵지 않다. uploadedfile[]같 배열값으로 넘겨주면 된다.$max_file_num = 3; //업로드할 파일 갯수 지정 echo "\n"; for($i=0; $i 파일 첨부 (1M이하)  \n"; } echo "\n"; 그리고 처리하는 부분에서 for문을 돌리면 된다.$file_count = count($_FILES['uploadedfile']['name']);$count = $file_count; for($i=0; $i  위에서 $count 변수는 실제 업로드된 갯수를 말한다. 로드를 3개까지 할 수 있다면, 실제로는 하나만 업로드를 할 수도 있기 때문에 별도로 체크를 했다. 아마도 이런 식으로 하면 여러 개의 파일을 업로드 하는데도.. 2008. 11. 30.
파일 첨부하기 파일 업로드를 구현하는데 많은 시간이 걸렸다. 아니 정확히 말하면 업로드된 파일을 수정하는데 시간을 많이 잡아먹었다. 첨부파일을 하나 올리는 것은 그리 어렵지 않게 했으나, 욕심이 생겨 처음부터 3개 정도의 파일을 올리는 것이 좋겠다 싶어 3개의 파일을 첨부할 수 있도록 했다. 뭐 이것도 그럭저럭 됐다. 그런데 문제는 올려진 파일을 수정하는데서부터 어려움을 겪기 시작했다. 파일이 3개다 보니 수정 시에 체크할 것도 많아지고, 제대로 동작이 안되는 일이 빈번했다. 체크된 파일만 삭제해야 하거나 기존 첨부파일은 그대로 두고 새롭게 파일을 올리거나, 기존 첨부파일을 덮어쓰거나...여러 가지 경우의 수가 발생했는데 이것을 다 핸들링하는 것이 좀 버거웠다. 그래서, 결국 하나의 파일만 우선 첨부하거나 첨부파일이 .. 2008. 11. 30.
변수명 다음에 자동으로 숫자 붙이기 예를 들어, $file1, $file2, $file3 ... 처럼 변수명 다음에 원하는 수 만큼 숫자를 붙이려면 어떻게 할까요? 위와 같이 변수명을 { } 대괄호로 감싸면, $file0, $file1, $file2 식으로 변수명이 됩니다. 출력은 아래와 같이 됩니다. file0 = coffee file1 = brown file2 = caffeine 만약, $file.$i = $info[$i]; 처럼 했다면 $file 변수에 쓰레기값이 들어있기 때문에 원하는대로 출력이 되지 않습니다. 이번에 게시판을 만들면서 DB에 저장하기 위해 쓴 방법입니다. 참고한 자료 : http://www.itmembers.net/board/zboard.php?id=php2 2008. 11. 24.
explode() 함수 이해하기 문자열을 다루는 함수 중에 explode()가 있어서 쓸 일이 있었는데 엉뚱하게도 Array이라는 문자가 출력이 되며 값이 제대로 안나오더군요. 2008/11/24 - [PHP] - Array 값을 디버깅하기 앞서 올린 글에서처럼 디버깅을 해봤더니 이게 배열로 저장이 되는 것이었습니다. $filename = "file.jpg"; $chk_name = explode(".", $filename); $extension = $chk_name[sizeof($chk_name)-1]; $chk_name[0] 에는 파일명인 file이, $chk_name[1] 에는 확장자인 jpg 가 저장이 됩니다. 그래서 위에서 $extension에 jpg이 저장되게 하려고 sizeof() 함수를 통해 값을 구했습니다. 2008. 11. 24.
Array 값을 디버깅하기 파일 업로드를 작성하다 보니 배열값을 쓰게 되더군요. 이 때 편하게 디버깅을 하려면 아래와 같이 print_r() 함수를 쓰면 편합니다. 이렇게 하면 아래와 같이 깔끔하게 출력이 되서 디버깅이 편해집니다. Array ( [a] => apple [b] => banana [c] => Array ( [0] => x [1] => y [2] => z ) ) 참고 : http://kr2.php.net/manual/kr/function.print-r.php 2008. 11. 24.
검색 기능 추가 검색 기능을 추가했다. list.php 상단에 검색 옵션을 체크하고 검색 옵션이 있을 경우 별도의 쿼리문을 돌려 페이지를 보여주는 식이다. //검색옵션 관련 $search_option = $_POST[search_option]; $keyword = $_POST[keyword]; if(strlen($keyword) > 0) { switch ($search_option) { case "all": $sql = "SELECT *FROM board WHERE (title LIKE '%$keyword%' AND reply_no=0) OR (content LIKE '%$keyword%' reply_no=0) ORDER BY main_no DESC"; break; case "title": $sql = "SELECT *.. 2008. 11. 22.
답글 수정 및 삭제하기 답글 수정 및 삭제하기 답글을 어떻게 수정할까 하다가 아무래도 답글이 많이 달리면 현재 창에서 수정하기가 힘들테니 새로운 창을 띄워서 하기로 했다. 우선 read.php에서 답글을 뿌려주는 부분에 수정과 삭제 링크를 걸고, edit_reply.php와 edit_reply_ok.php를 새로 작성했다. 하지만 이전에 본문 수정과 삭제 코딩을 해두었기 때문에 한결 편하게 작성이 가능하다. edit_reply.php의 앞 부분. edit_reply_ok.php에서 주의할 부분만 보면,$pw_sql = "SELECT passwd FROM board WHERE rel_no=$main_no AND reply_no=$reply_no"; 위의 SQL문에서 앞서 넘겨받은 main_no를 rel_no에 대입하는 부분이다... 2008. 11. 21.