[PHP] 업로드 파일 크기 제한 조정하기
PHP 기본 설정에서는 보안상 한번에 업로드 되는 파일 크기를 2MB로 제한하고 있습니다.
이 제한 설정을 변경하기 위해서는 다음과 같이 합니다.
1. php.ini 파일을 vi 에디터 등으로 열어 봅니다. (Ubuntu 14.04 기준 기본 경로 - /etc/php5/apache2/php.ini)
> vi /etc/php5/apache2/php.ini |
2. upload_max_filesize 항목과 post_max_size 항목을 찾아서 원하는 값으로 변경합니다.
이름에서 알수 있듯이 upload_max_filesize 는 php 에서 업로드 할수 있는 최대 파일 크기이고 post_max_size 는 POST 방식으로 전송되는 업로드 파일의 최대 크기 입니다.
100MB로 크기를 변경한다면, 아래와 같이 적어 주면 됩니다.
upload_max_filesize = 100M |
파일 저장후 apache2 (혹은 httpd) 를 재시작하면 바로 적용이 됩니다.
[PHP] fsockopen error - permission denied
CENTOS 6.4 / PHP 5.3.3
VBbulletin 사용 도중 서버 이전 후 메일이 발송되지 않는 문제가 발생해서 원인을 찾아보니,
로그에 아래와 같은 경고 메시지가 뜨면서 발송이 되지 않고 있었음.
Warning: fsockopen() [function.fsockopen]: unable to connect to ssl://smtp.google.com (Permission denied) in /xxxx.php on line xx
원인
대부분의 경우 리눅스 보안설정 SELinux 에서 httpd 에서 네트워크 커넥션을 허용하지 않는 경우이다.
해결책
커맨드 프롬프트에서 다음과 같이 입력
setsebool httpd_can_network_connect=1
(혹시 setsebool이 path가 결려있지 않은 경우 /usr/sbin/setsebool 을 이용)
[PHP] Gmail 첨부파일, 이미지 embed 시키기
PHP mail 보내기 - 파일첨부하기 / 이미지 보여주기
기본적인 메일 보내는 방법은 아래 링크 참고하세요.
http://shineum.tistory.com/56
1. 파일 첨부하기
$mail->AddAttachment("첨부파일 경로 혹은 파일 리소스", "첨부파일 이름"); // 해당 경로의 파일을 지정한 파일 이름으로 첨부
2. 메일에 이미지를 보여주기
- 보여줄 이미지를 유니크한 키를 사용해서 embeded image 로 추가를 해준다.
- embeded 할때 지정한 유니크 키를 src 태그를 사용해서 이미지 링크로 걸어준다.
$mail->AddEmbeddedImage("첨부파일 경로 혹은 파일 리소스", "유니크 키1");
$mail->AddEmbeddedImage("첨부파일 경로 혹은 파일 리소스", "유니크 키2");
$mail->MsgHTML("
<p><img src='cid:유니크 키1'></p>
<p><img src='cid:유니크 키2'></p>
");
[PHP] Gmail SMTP 를 이용하여 메일 보내기
PHPMailer 에 대한 새로운 사용법을 새로운 포스트에 남겨두었습니다. 참고하세요.
1. 다음 링크에서 필요한 모듈을 다운로드 받는다. (PHPMailer)
http://code.google.com/a/apache-extras.org/p/phpmailer/
개발자가 코드를 github 로 옮겼습니다. 아래 링크에서 다운로드 받으세요..
=> https://github.com/PHPMailer/PHPMailer
2. 다운로드 받은 파일을 적당한 경로에 압축을 푼다.
ex)
/var/www/html/inc/PHPMailer
3. 메일 보낼 코드 작성 예
/var/www/html/mailSample.php
<?php
require_once("inc/PHPMailer/class.phpmailer.php");
$mail = new PHPMailer(true);
$mail->IsSMTP();
try {
$mail->Host = "smtp.gmail.com"; // email 보낼때 사용할 서버를 지정
$mail->SMTPAuth = true; // SMTP 인증을 사용함
$mail->Port = 465; // email 보낼때 사용할 포트를 지정
$mail->SMTPSecure = "ssl"; // SSL을 사용함
$mail->Username = "GMAIL ACCOUNT"; // Gmail 계정
$mail->Password = "PASSWORD"; // 패스워드
$mail->SetFrom('from email address', 'Display Name'); // 보내는 사람 email 주소와 표시될 이름 (표시될 이름은 생략가능)
$mail->AddAddress('to email address', 'Display Name'); // 받을 사람 email 주소와 표시될 이름 (표시될 이름은 생략가능)
$mail->Subject = 'Email Subject'; // 메일 제목
$mail->MsgHTML("Email Content"); // 메일 내용 (HTML 형식도 되고 그냥 일반 텍스트도 사용 가능함)
$mail->Send(); // 실제로 메일을 보냄
echo "Message Sent OK<p></p>\n";
} catch (phpmailerException $e) {
echo $e->errorMessage(); //Pretty error messages from PHPMailer
} catch (Exception $e) {
echo $e->getMessage(); //Boring error messages from anything else!
}
?>
[PHP] POST 방식으로 데이터 전송하기
// usage
$url = "http://www.example.com/receiver.php";
$data = array("key" => "value");
$res = post_request($url, $value);
?>
[PHP] 엑셀 파일 읽기
[PHP] 백슬래시를 슬래시로 변경하는 코드
$text = preg_replace("/\\\\/", "/", $text);
[PHP] 날짜 관련 함수
function dateCompare($dt1, $dt2)