En tant que langage principal pour le développement de programmes Web, PHP est largement utilisé. En tant que logiciel statistique, R présente une bonne opérabilité dans la mise en œuvre d’algorithmes mathématiques. Récemment, en raison de besoins professionnels, j'ai dû effectuer des calculs mathématiques complexes sur certaines données d'applications Web. Cependant, bien que PHP lui-même puisse écrire certains algorithmes mathématiques, il est toujours difficile de répondre à la demande en termes d'efficacité. comparable à une fonction dans R. , après recherches, il a finalement été possible d'appeler R pour des opérations de calcul dans l'accès instantané de PHP, et de lire directement les résultats du calcul et de les afficher sur la page web. L'idée générale est la suivante :
Le point clé est que php active le programme R, transmet les paramètres de calcul à R et obtient les résultats.
Pour activer R en php, vous pouvez utiliser la fonction intégrée exec, afin que toute commande exécutée dans la fenêtre en cours d'exécution du système d'exploitation puisse être exécutée ici. La commande exécutée par R est (ce qui suit fait référence à l'environnement Windows).
"D:\\Program Files\R\R-2.15.2\bin\x64\R.exe" --vanilla < D:\\test.R out.txt
La première partie est le chemin du programme R local, suivi de l'option du logiciel R, qui peut être personnalisée, suivi du fichier programme R à exécuter, qui est le point clé, et enfin le fichier de sortie est exécuté. Ce fichier est requis pour la commande, mais il ne nous est d'aucune utilité.
Afin de réaliser chaque visite sur la page php, différents programmes R sont exécutés en raison de différents paramètres. Par conséquent, le nom du fichier programme test.R doit être généré pour chaque visite afin de garantir qu'il existe un fichier programme R unique pour chacun. visitez. Utilisez la forme d'écriture d'un fichier texte pour stocker les noms et les valeurs des paramètres, spécifiez le nom du fichier résultat et spécifiez l'activation du fichier R dans la page php. Dans ce fichier, vous pouvez spécifier le fichier programme R qui appelle. un nom de fichier fixe complexe Après avoir exécuté un fichier texte de résultat unique, le fichier php lit ensuite le résultat du fichier texte, le traite et l'affiche, c'est-à-dire que l'objectif est atteint.
exec($command,$out1,$out2);
Dans le résultat de sortie php, tant que la valeur de $out2 est 0, l'exécution est réussie.
Il convient de noter que la barre oblique inverse utilisée dans le chemin du fichier est un symbole d'échappement spécial pour la barre oblique inverse en PHP. Lors de la génération de $command, vous devez faire particulièrement attention à savoir si la chaîne de sortie répond aux exigences. De plus, pour le stockage de fichiers, essayez d'utiliser des chemins absolus.