Categories
PHP

phpMyAdmin 에서 업로드 (upload) 파일 최대 용량 변경하기

1. 증상

phpMyAdmin 에서 파일을 데이터베이스로 “가져오기” 할 때 에러가 발생한다.

“가져올 데이터가 없습니다. 파일이 지정되지 않았거나 파일 크기가 PHP 설정의 최대 파일 크기를 초과했을 수 있습니다.”

2. 문제의 원인

phpMyAdmin 에서 업로드할 수 있는 파일의 최대 크기는 2 MB 로 제한되어 있다.

2 MB 가 넘는 파일을 업로드하려고 하면 에러가 발생한다.

3. php.ini 파일 편집

편집기로 php.ini 파일을 연다.

sudo vi /etc/php/8.1/apache2/php.ini

“post_max_size” 부분을 찾아 용량 부분을 변경한다.

post_max_size = 16M

“upload_max_filesize” 부분을 찾아 용량 부분을 변경한다.

upload_max_filesize = 32M

파일을 저장하고 편집기를 닫는다.

4. 아파치 웹서버 재시작

아파치 웹서버를 재시작한다.

sudo systemctl restart apache2.service

5. 결과 확인

phpMyAdmin 대시보드에서 “가져오기” 탭을 연다.

페이지를 리프레시 (refresh) 한다.


업로드 파일의 최대 용량이 변경된 것을 확인한다.

Categories
PHP

PHP 에서 방문자 (visitor) IP 주소 알아내기

1. $_SERVER[‘REMOTE_ADDR’] 전역변수

$_SERVER[‘REMOTE_ADDR’] 전역변수에는 현재 페이지를 보고 있는 방문자 (visitor) 의 IP 주소가 저장된다.

2. 방문자 IP 주소 알아내기

echo 문장으로 방문자의 IP 주소를 출력한다.

echo “방문자 IP 주소: ” . $_SERVER[‘REMOTE_ADDR’];

실행 결과:

Categories
PHP

PHP 전역 (super global) 변수로 웹페이지의 완전한 URL 만들기

1. $_SERVER[‘HTTPS’] 전역변수

$_SERVER[‘HTTPS’] 변수는 웹페이지가 HTTPS 프로토콜을 사용할 경우에 NULL 이 아닌 값을 가진다.

if (!$_SERVER['HTTPS']) {
  echo "http://";
} else {
  echo "https://";
}

코드 실행 결과:

2. $_SERVER[‘HTTP_HOST’] 전역변수

$_SERVER[‘HTTP_HOST’] 변수는 웹서버의 호스트네임을 값으로 가진다.

echo $_SERVER[‘HTTP_HOST’];

코드 실행 결과:

3. $_SERVER[‘REQUEST_URI’] 전역변수

$_SERVER[‘REQUEST_URI’] 변수는 리소스 (resource) 의 이름을 값으로 가진다.

echo $_SERVER[‘REQUEST_URI’];

코드 실행 결과:


4. 웹페이지의 완전한 URL 만들기

앞에서 설명한 3 개의 전역 (super global) 변수를 연결하여 웹페이지의 완전한 URL 을 만든다.

if (!$_SERVER['HTTPS']) {
  $protocol = "http://";
} else {
  $protocol = "https://";
}
$hostname = $_SERVER['HTTP_HOST'];
$resource = $_SERVER['REQUEST_URI'];
$full_url = $protocol . $hostname . $resource;
echo $full_url;

코드 실행 결과:

Categories
PHP

PHP 로 웹페이지 조회수 카운터 (counter) 만들기

1. 조회수 저장 파일 만들기

hits.txt 라는 이름의 파일을 생성한다.

vi hits.txt

첫번째 라인에 0 을 입력하고 파일을 저장한다.

2. PHP 스크립트 작성하기

counter.php 라는 이름의 파일을 생성한다.

vi counter.php

다음 내용을 입력하고 파일을 저장한다.

<?php
$fh = fopen("hits.txt", "r");
$hits = fread($fh, 30);
$hits = intval($hits);
$hits++;
echo "Total hits: " . $hits;
fclose($fh);
$fh = fopen("hits.txt", "w");
fwrite($fh, $hits);
fclose($fh);
?>


3. 스크립트 실행하기

hits.txt 파일과 counter.php 파일은 같은 디렉토리에 있어야 한다.

웹브라우저를 실행하고 counter.php 파일을 연다.

페이지 새로고침을 여러번 실행하여 조회수가 증가하는 것을 확인한다.