- 전체
- Sample DB
- database modeling
- [표준 SQL] Standard SQL
- G-SQL
- 10-Min
- ORACLE
- MS SQLserver
- MySQL
- SQLite
- postgreSQL
- 데이터아키텍처전문가 - 국가공인자격
- 데이터 분석 전문가 [ADP]
- [국가공인] SQL 개발자/전문가
- NoSQL
- hadoop
- hadoop eco system
- big data (빅데이터)
- stat(통계) R 언어
- XML DB & XQuery
- spark
- DataBase Tool
- 데이터분석 & 데이터사이언스
- Engineer Quality Management
- [기계학습] machine learning
- 데이터 수집 및 전처리
- 국가기술자격 빅데이터분석기사
- 암호화폐 (비트코인, cryptocurrency, bitcoin)
stat(통계) R 언어 Integrating PHP and R
2016.11.17 20:06
Integrating PHP and R
I know I’m not the only one who’s asked this question. After all, with great content management systems like Drupal, it would very cool to be able to drop an R module into some PHP code and instantly have a web app popping out some snazzy looking ggplot graphics. After spending some time Google searching for an easy implementation and finding very little in the PHP + R space, I was able to piece together a method for integrating the two. It uses no JavaScript… no AJAX… just plain old PHP.
The poor man’s R web app
Disclaimer: There are many reasons why you shouldn’t actually stick the following code on the web for all to see. It is a very stripped down example, which is great for experimenting on a localhost, but has some serious security flaws.
This implementation of PHP and R consists of only two files. One written in PHP, and the other an R script. The PHP returns a form which uses the GET method to send a variable N to the server. When the form is submitted, the PHP will then execute an R script from the shell using a combination of the PHP command exec() and the Rscript shell command. This command will pass the variable N to the R script. The R script will then execute and save a histogram plot of N normally distributed values to the filesystem. Finally, when the R script is complete, the PHP will return the HTML tag containing the saved images path. First, the PHP file…
<?php // poorman.php echo "<form action='poorman.php' method='get'>"; echo "Number values to generate: <input type='text' name='N' />"; echo "<input type='submit' />"; echo "</form>"; if(isset($_GET['N'])) { $N = $_GET['N']; // execute R script from shell // this will save a plot at temp.png to the filesystem exec("Rscript my_rscript.R $N"); // return image tag $nocache = rand(); echo("<img src='temp.png?$nocache' />"); } ?>
and the R script…
# my_rscript.R args <- commandArgs(TRUE) N <- args[1] x <- rnorm(N,0,1) png(filename="temp.png", width=500, height=500) hist(x, col="lightblue") dev.off()
Finally, to help you visualize the whole process a bit better, below is a screenshot of the results…

Some Issues
This is a very simple example that works fine on a localhost, but there are some BIG issues that need to be resolved before this code is opened up to the web.
- The user input isn’t sanitized
- Only one user can be using this web app at a time
- More care needs to be taken with read/write access
- More care needs to be taken with the relative file paths
- Speed?
- … and I’m sure I’m missing many more
The bottom line is that with less than 20 lines of code we are able to generate R graphics in a browser… everything else is just details.
[출처] https://www.r-bloggers.com/integrating-php-and-r/
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
댓글 0
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
|---|---|---|---|---|
| 공지 | 오라클 기본 샘플 데이터베이스 | 졸리운_곰 | 2014.01.02 | 86138 |
| 공지 | [SQL컨셉] 서적 "SQL컨셉"의 샘플 데이타 베이스 SAMPLE DATABASE of ORACLE | 가을의 곰을... | 2013.02.10 | 78637 |
| 공지 | [G_SQL] Sample Database | 가을의 곰을... | 2012.05.20 | 95364 |
| 6 |
품질경영기사 자료와 정보 (응시자격, 출제기준, 시험과목, 시험방법, 합격기준, 합격률 등)
| 졸리운_곰 | 2018.02.05 | 2625 |
| 5 |
품질경영기사 독학 난이도
| 졸리운_곰 | 2018.02.05 | 3423 |
| 4 |
품질경영기사_공식요약(필기, 실기)_요점 및 핵심정리
| 졸리운_곰 | 2018.02.05 | 4354 |
| 3 |
품질경영기사 요점정리
| 졸리운_곰 | 2018.02.04 | 3048 |
| 2 |
[품질경영산업기사]직접 시험 본 후기 및 조언입니다
| 졸리운_곰 | 2018.02.03 | 2572 |
| 1 |
<품질경영기사 독학하시는 분들을 위한 공부방법 TIP!>
| 졸리운_곰 | 2018.02.03 | 3063 |

