답변 1개 / 댓글 11개
채택된 답변
+20 포인트
에러 메시지 같은거 로그에 남긴단거에요?
검색한 기록을 로그에 남긴다는건가요?
답변에 대한 댓글 11개
2021-10-15 (금) 14:29:52
텍스트 파일 생성해서 남기면 될거에요
https://devlink.tistory.com/m/361?category=649570
이거 참고해보세요
https://www.google.com/search?q=php+log+%ED%8C%8C%EC%9D%BC+%EB%A7%8C%EB%93%A4%EA%B8%B0&newwindow=1&rlz=1C5CHFA_enKR892KR892&sxsrf=AOaemvKI-P3W8eCBzdBba5SsCLjRZeernQ%3A1634275470377&ei=jhBpYc-dFtPdmAXd-JBQ&oq=php+log+%ED%8C%8C%EC%9D%BC+%EB%A7%8C%EB%93%A4%EA%B8%B0&gs_lcp=Cgdnd3Mtd2l6EAMYATIKCAAQgAQQhwIQFDIKCAAQgAQQhwIQFDIFCAAQgAQyBQgAEIAEMgUIABCABDIFCAAQgAQyBQgAEIAEMgUIABCABDIFCAAQywEyBQgAEMsBOgQIIxAnOgQIABBDOggIABCABBCxAzoECAAQAzoHCAAQsQMQQzoLCAAQgAQQsQMQgwE6DQgAEIAEEIcCELEDEBQ6BggjECcQE0oECEEYAFChjBBY550QYLOsEGgBcAB4AIABjAGIAacIkgEDMC45mAEAoAEBwAEB&sclient=gws-wiz
https://devlink.tistory.com/m/361?category=649570
이거 참고해보세요
https://www.google.com/search?q=php+log+%ED%8C%8C%EC%9D%BC+%EB%A7%8C%EB%93%A4%EA%B8%B0&newwindow=1&rlz=1C5CHFA_enKR892KR892&sxsrf=AOaemvKI-P3W8eCBzdBba5SsCLjRZeernQ%3A1634275470377&ei=jhBpYc-dFtPdmAXd-JBQ&oq=php+log+%ED%8C%8C%EC%9D%BC+%EB%A7%8C%EB%93%A4%EA%B8%B0&gs_lcp=Cgdnd3Mtd2l6EAMYATIKCAAQgAQQhwIQFDIKCAAQgAQQhwIQFDIFCAAQgAQyBQgAEIAEMgUIABCABDIFCAAQgAQyBQgAEIAEMgUIABCABDIFCAAQywEyBQgAEMsBOgQIIxAnOgQIABBDOggIABCABBCxAzoECAAQAzoHCAAQsQMQQzoLCAAQgAQQsQMQgwE6DQgAEIAEEIcCELEDEBQ6BggjECcQE0oECEEYAFChjBBY550QYLOsEGgBcAB4AIABjAGIAacIkgEDMC45mAEAoAEBwAEB&sclient=gws-wiz
2021-10-15 (금) 14:32:41
ajax를 사용한다고 하셨잖아요? 그럼 검색한 모델 을 php 단에 보내서 로그에 쌓을수밖에 없어요
choco5958
2021-10-15 (금) 14:43:22
php 단 코드를 이렇게 했는데 안됩니다
<?php
$model_code = $_GET['model_code'];
// required headers
header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json; charset=UTF-8");
// include database file
include_once 'mongodb_config.php';
$dbname = 'product';
$collection = 'productAll';
//DB connection
$db = new DbManager();
$conn = $db->getConnection();
// read all records
$filter = ['model_code' => ['$regex' => '^'.$model_code.'$', '$options' => 'i']];
$option = ['limit' => 1];
$read = new MongoDB\Driver\Query($filter, $option);
//fetch records
$records = $conn->executeQuery("$dbname.$collection", $read);
echo json_encode(iterator_to_array($records), JSON_UNESCAPED_UNICODE);
function log_write($str){
//디렉토리 경로
$log_dir = '/var/www/html/estimate/log';
//$log_dir = "/home/root...등의 절대경로 ";
$log_txt = "\r\n";
$log_txt .= '(' . date("Y-m-d H:i:s") . ')' . "\r\n";
$log_txt .= $str;
$log_file = fopen($log_dir . 'search.log', 'a');
fwrite($log_file, $log_txt . "\r\n\r\n");
fclose($log_file);
}
log_write($model_code);
?>
<?php
$model_code = $_GET['model_code'];
// required headers
header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json; charset=UTF-8");
// include database file
include_once 'mongodb_config.php';
$dbname = 'product';
$collection = 'productAll';
//DB connection
$db = new DbManager();
$conn = $db->getConnection();
// read all records
$filter = ['model_code' => ['$regex' => '^'.$model_code.'$', '$options' => 'i']];
$option = ['limit' => 1];
$read = new MongoDB\Driver\Query($filter, $option);
//fetch records
$records = $conn->executeQuery("$dbname.$collection", $read);
echo json_encode(iterator_to_array($records), JSON_UNESCAPED_UNICODE);
function log_write($str){
//디렉토리 경로
$log_dir = '/var/www/html/estimate/log';
//$log_dir = "/home/root...등의 절대경로 ";
$log_txt = "\r\n";
$log_txt .= '(' . date("Y-m-d H:i:s") . ')' . "\r\n";
$log_txt .= $str;
$log_file = fopen($log_dir . 'search.log', 'a');
fwrite($log_file, $log_txt . "\r\n\r\n");
fclose($log_file);
}
log_write($model_code);
?>
2021-10-15 (금) 14:45:32
퍼미션 권한도 주셔야되요
mb_dir << 이건 경로 이구요
@mkdir($mb_dir,707);
@chmod($mb_dir, 707);
mb_dir << 이건 경로 이구요
@mkdir($mb_dir,707);
@chmod($mb_dir, 707);
2021-10-15 (금) 14:51:47
그러면 직접 권한을 주세요
리눅스 서버 접속해서 chmod 707 파일명
아니면 파일질라 접속해서 권한을 주면되요
응용 해보세요
리눅스 서버 접속해서 chmod 707 파일명
아니면 파일질라 접속해서 권한을 주면되요
응용 해보세요
2021-10-15 (금) 15:00:01
ajax를 실행 했는지... 차라리 저 로그부분만 index.php에 넣어서 실행해보세요
choco5958
2021-10-15 (금) 15:38:43
생성은 됐습니다!!!
이제 if문에 조건을 줘야하는데 몽고디비 조회 값이 없을때만 사용해야합니다
// read all records
$filter = ['model_code' => ['$regex' => '^'.$model_code.'$', '$options' => 'i']];
$option = ['limit' => 1];
$read = new MongoDB\Driver\Query($filter, $option);
//fetch records
$records = $conn->executeQuery("$dbname.$collection", $read);
echo json_encode(iterator_to_array($records), JSON_UNESCAPED_UNICODE);
if(???????) {
$dir = "/var/www/html/estimate/log". date('Y/n/d');
if(!is_dir($dir))
{
mkdir($dir,0777,true);
chmod($dir,0777,true);
}
$log_txt = date('Y_m_d_H:i:s') . ' | '. '검색모델명'. ' : '.$model_code;
$log_dir = $dir."/";
$file_name = date('Y_m_d');
$log_file = fopen($log_dir."/".$file_name.".txt", "a");
fwrite($log_file, $log_txt."\r\n");
fclose($log_file);
}
이제 if문에 조건을 줘야하는데 몽고디비 조회 값이 없을때만 사용해야합니다
// read all records
$filter = ['model_code' => ['$regex' => '^'.$model_code.'$', '$options' => 'i']];
$option = ['limit' => 1];
$read = new MongoDB\Driver\Query($filter, $option);
//fetch records
$records = $conn->executeQuery("$dbname.$collection", $read);
echo json_encode(iterator_to_array($records), JSON_UNESCAPED_UNICODE);
if(???????) {
$dir = "/var/www/html/estimate/log". date('Y/n/d');
if(!is_dir($dir))
{
mkdir($dir,0777,true);
chmod($dir,0777,true);
}
$log_txt = date('Y_m_d_H:i:s') . ' | '. '검색모델명'. ' : '.$model_code;
$log_dir = $dir."/";
$file_name = date('Y_m_d');
$log_file = fopen($log_dir."/".$file_name.".txt", "a");
fwrite($log_file, $log_txt."\r\n");
fclose($log_file);
}
답변을 작성하려면 로그인이 필요합니다.