
PHPY é biblioteca para PHP
Você pode usar o python em php com ele
Instalar
git clone https://github.com/Raeen123/phpycomposer require raeen/phpyPré -requisitos
Esta é a minha configuração:
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
Você deve se não adicionar python em seu ambiente de caminho, adicione seu caminho python em core/Python.php em const python_path
Usamos essas bibliotecas para criar phpy.py:
import sys
import json
import base64
import numpy as np
import cv2Importar arquivo phpy.py em python/incluir/biblioteca/php.py
Obtenha dados do PHP
Obtenha dados para o arquivo python para obter dados que você deve
phpy . get_data ( Number Of Send data )Para dados de retorno, você deve usar a função de impressão
Empurre dados do python
phpy . push_data ( data )É apenas
json . dumps ( data )Empurre a imagem do python
Funciona para empurrar dados de python para php
Exemplo de imagem de leitura
cv2 . imread () videoCaptureObject = cv2 . VideoCapture ( 0 )
ret , frame = videoCaptureObject . read ()Imagem empurrando
phpy . push_image ( img , type )Envie dados do PHP
Crie e envie dados de Php para Python
Você pode enviar dados infinitos
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 ();Exemplo de saída ao vivo:
$ site = " google.com " ;
$ python -> set ( ' ../Python/test6.py ' )-> send ( $ data )-> live ()-> gen ();Mostrar resultado
$ output = $ python -> set (path)-> send (datas. . )-> gen ()Mostre img
Você pode usar esta função para gerar o que é retorno de phpy.push_img ()
$ app -> img ( $ output , $ type , $ show , $ style )$ tipo deve ser o mesmo tipo em php.push_img ()
Se $ show for verdadeiro, mostre a imagem na tag IMG
Também você pode definir estilo para isso
Exemplo
$ app -> img ( $ output , $ type , true ,
[
' border ' => ' 1px solid red '
])Caminho
Por exemplo, eu tenho arquivo de imagem neste arquivo Diractory, mas Python em Python/**. Py e quero enviar caminho para ele. Para isso, é necessário enviar este caminho ../my-img ou usar este functiuon para enviar arquivo de caminho ou diretório
$ app -> path (__Dir__,path)Ini
Se você tiver loop no arquivo php, é muito bom adicionar esta função no topo do arquivo
$ app -> ini ()Trecho
Uma linha
Se você quiser executar uma linha Python, você deve usar esta função
$ Snippet -> set ( $ code , function (){
// controller
})-> gen (); Para controle de controle, você deve ser o nome em |&name|
Para preencher variável, você deve return array , deve estar em ordem
Você deve usar " no código python e no uso ; no final de cada linha
$ 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 ();Linhas
Comece antes de começar a escrever códigos, você deve usar isso
$ Snippet -> start (name);Para escrever seus códigos, você deve usar isso
$ Snippet -> line (code)
.
.
.Para o fim das linhas
$ Snippet -> end (name,save_last)nome na função inicial deve ser o mesmo esse nome
Para obter a produção em qualquer lugar, você deve usar isso
$ Snippet -> select (name)-> gen ()Exemplo, index.php:
$ Snippet -> start ( " test " );
$ Snippet -> line ( " a = 'Hello world' " );
$ Snippet -> line ( " print(a) " );
$ Snippet -> end ( " test " );
$ Snippet -> select ( " test " )-> gen (); Output : Hello world
Você pode usar este código em outro arquivo
$ Snippet -> select ( " test " )-> gen (); Output : Hello world
Saída ao vivo em qualquer lugar (snippet e classe python) você pode usar isso tão fácil
Pouco antes de usar gen() use live() , use `` `gen (/ *, você pode escrever a função aqui para controlar a saída */)
$ python -> set ( " ../Python/test6.py " )-> send ( $ site )-> live ()-> gen (
function ( $ res ) {
return " <pre> $ res </pre> " ;
}
);Você também pode definir o tempo sem cada leitura (Defult é 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> " ;});Licença
MIT Licença
Copyright (C) 2021 Raeen Ahani Azari
A permissão é concedida, gratuita, a qualquer pessoa que obtenha uma cópia deste software e arquivos de documentação associados (o "software"), para lidar com o software sem restrição, inclusive sem limitação os direitos de usar, copiar, modificar, mesclar, publicar, distribuir, mobilizar o software e/ou vender cópias do software e permitir que as pessoas a quem
O aviso de direitos autorais acima e este aviso de permissão devem ser incluídos em todas as cópias ou em partes substanciais do software.
O software é fornecido "como está", sem garantia de qualquer tipo, expresso ou implícito, incluindo, entre outros, as garantias de comercialização, aptidão para uma finalidade específica e não innoculação. Em nenhum caso os autores ou detentores de direitos autorais serão responsáveis por qualquer reclamação, danos ou outro passivo, seja em uma ação de contrato, delito ou não, decorrente de, fora ou em conexão com o software ou o uso ou outras negociações no software.
Exemplo
Existem exemplos em examplos de phpy
Por Raeen Ahani Azari