php
-
[Ubuntu, Nginx] PHPMyAdmin 설치하기백엔드/Linux(Ubuntu) 2023. 12. 5. 10:16
PHPMyAdminphp로 작성된 PHPMyAdmin은 MySQL 데이터베이스를 관리하기 위한 웹 기반의 오픈 소스 관리도구이다. 웹 브라우저를 통해 MySQL 데이터베이스에 접속하여 데이터베이스를 관리, 조작하는 등 데이터베이스 안의 테이블을 만들고 수정하고, 데이터를 삽입, 수정, 삭제할 수 있다. ※ 본 게시글은 Ubuntu 22.04 LTS 버전을 기준으로 작성되었습니다.1. php 설치 및 연동하기https://syudal.tistory.com/entry/Ubuntu-Nginx-PHP-연동하기 [Ubuntu, Nginx] PHP 연동하기Nginx와 PHP를 연동하기 위해서는 FastCGI를 사용한다. Nginx는 PHP를 직접 지원하지 않으므로, PHP를 먼저 설치해야한다...
-
[PHP] 파일 업로드 하기프로그래밍/Web(CSS + HTML + JS + PHP ) 2023. 9. 15. 14:46
소스 코드 php로 여러가지를 개발하다 보면, 사용자가 파일을 업로드 해야 할 상황이 있다. 아래는 php8 에서 사진 파일을 업로드하는 예제이다. index.html upload.php // 업로드 디렉토리를 설정합니다. $uploadDir = "uploads/"; // 업로드 디렉토리 경로 $maxFileSize = 5 * 1024 * 1024; // 5MB // 업로드된 파일의 정보를 가져옵니다. $fileName = $_FILES["fileToUpload"]["name"]; $fileTmpName = $_FILES["fileToUpload"]["tmp_name"]; $fileSize = $_FILES["fileToUpload"]["size"]; // 파일 확장자를 체크하고 허용되는 확장자를 지정합..
-
[HustOJ] 아이디에 '-'가 포함된 경우 사용자 정보 불러오지 못하는 오류 해결하기유틸리티/HustOJ 2023. 8. 18. 08:31
HustOJ에서 사용자 ID에 '-'가 포함된 경우에는 No such User! 라는 메시지를 출력하며, 사용자의 정보를 불러올 수 없는 오류가 있다. 이는 사용자 ID가 올바른지 검사하는 로직에서 사용자 ID의 범위를 a ~ z, A ~ Z, 0 ~ 9, _ 로 제한하고 있기 때문이다. 따라서 해당 로직을 수정하면 해결된다. 1. HustOJ가 설치된 경로에서 src/web/include 경로로 이동한다. cd ../../ cd /home/judge/src/web/include/ 2. my_func.inc.php를 열어 해당 로직을 아래와 같이 값을 수정한다. function is_valid_user_name($user_name){ $len=strlen($user_name); for ($i=0;$i='..
-
[Ubuntu, Nginx] PHP 연동하기백엔드/Linux(Ubuntu) 2023. 3. 4. 21:58
PHP-FPM Nginx와 PHP를 연동하기 위해서는 PHP-FPM를 사용한다. PHP-FPM은 PHP FastCGI Process Manager의 약자로, PHP의 FastCGI 지원을 제공하는 프로세스 관리자이다. 일반적으로 PHP 웹 애플리케이션을 실행하는 데 사용되며, PHP를 FastCGI 프로토콜을 지원하는 웹 서버와 함께 사용할 수 있도록 설계되어 상호간 효율적인 통신을 돕는다. PHP-FPM 설치 Nginx는 PHP를 직접 지원하지 않으므로, PHP를 먼저 설치해야한다. 이때 설치되는 php의 버전을 잘 확인해야한다. apt-get install php-fpm 설치후에 설정도 자동으로 되면 좋겠지만, 아래의 경로로 이동해서 수정해야한다. 경로 : etc/nginx/sites-availabl..
-
[PHP, Nginx] 사용자 정의 헤더 넘겨 받기프로그래밍/Web(CSS + HTML + JS + PHP ) 2023. 2. 23. 13:57
문제 상황 Apache였다면, apache_request_headers() 함수를 사용하여 헤더들을 넘겨 받아서 사용하겠지만 Nginx에서는 해당 함수를 사용할 수 없기 때문에 사용 방법이 조금 다르다. 문제 해결 결론 부터 말하자면, $_SERVER를 이용해서 넘겨 받을 수 있다. 아래와 같이 사용자 정의 헤더(CURL-REAL-IP)를 전송하려고 한다. ※ 헤더는 -만 사용해야하고 불가피하게 _을 사용하려고 하면 underscores_in_headers on; 옵션을 추가해줘야한다. Nginx를 통과하여 php에 도착하면 $_SERVER에 HTTP_라는 접두사가 붙은채로 아래와 같이 도착해있다. 소스 코드 서버단 php에서 사용할 때는 다음과 같이 사용한다.
-
[PHP] cURL 사용해서 post 데이터 넘겨주기프로그래밍/Web(CSS + HTML + JS + PHP ) 2023. 2. 20. 12:37
소스 코드 $clientID = "Client ID"; $clientSecret = "Client SecretKey"; $url = "https://www.example.com"; $body = array("foo" => "test", "bar" => "test"); # type1 $body = "foo=test&bar=test"; # type2 $ch = curl_init(); //curl 초기화 curl_setopt_array($ch, array( CURLOPT_URL=> $url, //URL 지정하기 CURLOPT_POST=> true, //true시 post 전송 CURLOPT_RETURNTRANSFER=> true, //요청 결과를 문자열로 반환 CURLOPT_HTTPHEADER=> array(..
-
[PHP] cURL을 사용하여 file_get_contents 사용하기프로그래밍/Web(CSS + HTML + JS + PHP ) 2019. 5. 20. 11:17
PHP에서 웹상 파일 읽기 php로 웹상(원격)에 있는 파일을 읽는 방법으로는 보통 아래와 같은 방법을 사용하여 파일을 읽는다. fopen() 함수 사용 file_get_contents() 함수 사용 curl 사용 하지만, 대부분의 웹 호스팅에서는 file_get_contents()을 지원하지 않는다. 물론 curl을 지원하지 않는 웹 호스팅도 있지만, 많은 호스팅에선 아직 지원하므로 curl을 이용하여 php에서 웹 상 파일을 읽어오는 file_get_contents 함수를 curl로 구현했다. 소스 코드 file_get_contents()를 사용 할 자리에 위의 소스를 복사하여 적당한 위치에 두고 file_get_contents_curl()을 호출하면 file_get_contents()와 같이 작동한다.
-
[php] mysqli to json프로그래밍/Web(CSS + HTML + JS + PHP ) 2019. 3. 22. 15:11
d3.jsd3.js는 데이터 시각화를 위한 JavaScript 라이브러리이다. 이름인 "D3"는 "Data-Driven Documents"의 약자로, 데이터에 기반하여 문서를 생성하고 조작하는 데 사용된다. D3.js는 HTML, SVG(Scaleable Vector Graphics), CSS를 사용하여 데이터를 시각적으로 표현하고 상호작용하는데 강력한 기능을 제공한다.https://github.com/d3/d3 GitHub - d3/d3: Bring data to life with SVG, Canvas and HTML. :bar_chart::chart_with_upwards_trend::tada:Bring data to life with SVG, Canvas and HTML. :bar_c..