
Phpy est une bibliothèque pour PHP
Vous pouvez utiliser Python en php avec
Installer
git clone https://github.com/Raeen123/phpycomposer require raeen/phpyCondition préalable
Ceci est la configuration de la mine:
php = 8.0.1 (Your php version must be at least 7.4 )
python = 3.9.1
numpy = 1.19.3
python-opencv = 4.4.0.46
Python
Vous devez si vous n'ajoutez pas de python dans votre environnement de chemin, ajoutez votre chemin Python dans core/Python.php dans const python_path
Nous utilisons ces bibliothèques pour créer phpy.py:
import sys
import json
import base64
import numpy as np
import cv2Importez un fichier phpy.py dans python / include / bibliothèque / php.py
Obtenez des données de PHP
Obtenez des données sur le fichier Python pour obtenir des données que vous devez
phpy . get_data ( Number Of Send data )Pour les données de retour, vous devez utiliser la fonction d'impression
Pousser les données de Python
phpy . push_data ( data )C'est juste
json . dumps ( data )Push Image de Python
Il fonctionne pour pousser les données de Python à PHP
Exemple de lecture de l'image
cv2 . imread () videoCaptureObject = cv2 . VideoCapture ( 0 )
ret , frame = videoCaptureObject . read ()Pousser l'image
phpy . push_image ( img , type )Envoyer des données à partir de PHP
Créer et envoyer des données de PHP à Python
Vous pouvez envoyer des données infinies
require_once " ../vendor/autoload.php " ;
use app core App ;
$ app = new App ();
$ python = $ app -> python ;
$ data1 = [
' name ' => ' raeen ' ,
' library ' => ' phpy '
];
$ data2 = " test " ;
$ output = $ python -> set ( " ../Python/test2.py " )-> send ( $ data1 , $ data2 )-> gen ();Exemple de sortie en direct:
$ site = " google.com " ;
$ python -> set ( ' ../Python/test6.py ' )-> send ( $ data )-> live ()-> gen ();Montrer le résultat
$ output = $ python -> set (path)-> send (datas. . )-> gen ()Montrer IMG
Vous pouvez utiliser cette fonction pour gérer ce qui revient de phpy.push_img ()
$ app -> img ( $ output , $ type , $ show , $ style )$ type doit être le même type dans php.push_img ()
Si $ show est vrai, montrez l'image dans la balise IMG
Vous pouvez également définir du style pour cela
Exemple
$ app -> img ( $ output , $ type , true ,
[
' border ' => ' 1px solid red '
])Chemin
Par exemple, j'ai un fichier image dans ce fichier diracteur mais python dans Python / **. Py et moi voulons y envoyer un chemin. pour ceci dans Must d'envoyer ce chemin ../My-IMG ou d'utiliser cette Functiuon pour envoyer un fichier de chemin d'accès ou un répertoire
$ app -> path (__Dir__,path)Ini
Si vous avez une boucle dans le fichier PHP, il est très bien d'ajouter cette fonction en haut du fichier
$ app -> ini ()Fragment
Une ligne
Si vous souhaitez exécuter une ligne Python, vous devez utiliser cette fonction
$ Snippet -> set ( $ code , function (){
// controller
})-> gen (); Pour le contrôle variable, vous devriez son nom dans |&name|
Pour remplir variable, vous devez return array , il doit être en ordre
Vous devez utiliser " dans le code python et utiliser ; à la fin de chaque ligne
$ Snippet = $ app -> snippet ;
$ Snippet -> set ( " print(f'hello world {|&data|*7*|&test|}'); print('--Hello') " ,
function ( $ data , $ test ) {
$ data = 2 ;
$ test = 9 ;
$ data2 = $ data * 5 ;
return [ $ data2 , $ test ];
})-> gen ();Lignes
Commencez avant de commencer à écrire des codes, vous devez utiliser ceci
$ Snippet -> start (name);Pour écrire vos codes, vous devriez utiliser ceci
$ Snippet -> line (code)
.
.
.Pour la fin des lignes
$ Snippet -> end (name,save_last)Le nom dans la fonction de démarrage doit être le même que ce nom
Pour obtenir la sortie partout où vous devez utiliser ceci
$ Snippet -> select (name)-> gen ()Exemple, index.php:
$ Snippet -> start ( " test " );
$ Snippet -> line ( " a = 'Hello world' " );
$ Snippet -> line ( " print(a) " );
$ Snippet -> end ( " test " );
$ Snippet -> select ( " test " )-> gen (); Output : Hello world
Vous pouvez utiliser ce code dans un autre fichier
$ Snippet -> select ( " test " )-> gen (); Output : Hello world
Sortie vivante n'importe où (Snippet et Python Class) Vous pouvez l'utiliser si facile
Juste avant d'utiliser gen() Utilisez live() puis utilisez `` Gen (/ * Vous pouvez écrire de la fonction ici pour contrôler la sortie * /)
$ python -> set ( " ../Python/test6.py " )-> send ( $ site )-> live ()-> gen (
function ( $ res ) {
return " <pre> $ res </pre> " ;
}
);Vous pouvez également régler le temps sans chaque lecture ouput (Defult est 1)
$ python -> set ( " ../Python/test6.py " )-> send ( $ site )-> live ()-> ini ( 3 )-> gen (
function ( $ res ) {
return " <pre> $ res </pre> " ;
}
); $ Snippet -> set (
" import subprocess as sub; sub.call('ping |&site|') " , function ( $ site ){ $ site = " google.com " ; return [ $ site ];}
)-> live ()-> ini ( 3 )-> gen (); $ Snippet -> select ( ' snippet-test8 ' )-> live ()-> gen ( function ( $ res ){ return " <b><pre> $ res </pre></b> " ;});Licence
Licence MIT
Copyright (C) 2021 Raeen Ahani Azari
L'autorisation est accordée gratuitement à toute personne qui obtient une copie de ce logiciel et des fichiers de documentation associés (le "logiciel"), pour traiter le logiciel sans restriction, y compris sans limiter les droits d'utilisation, de copie, de modification, de fusion, de publication, de distribution, de sublince et / ou de vendre des copies des conditions suivantes.
L'avis de droit d'auteur ci-dessus et le présent avis d'autorisation sont inclus dans toutes les copies ou des parties substantielles du logiciel.
Le logiciel est fourni "tel quel", sans garantie d'aucune sorte, express ou implicite, y compris, mais sans s'y limiter, les garanties de qualité marchande, d'adéquation à un usage particulier et de non-contrefaçon. En aucun cas, les auteurs ou les détenteurs de droits d'auteur ne seront pas responsables de toute réclamation, dommage ou autre responsabilité, que ce soit dans une action de contrat, de délit ou autre, découlant de, hors du logiciel ou de l'utilisation ou d'autres relations dans le logiciel.
Exemple
Il existe des exemples dans des exemples de phpy
Par Raeen Ahani Azari