TransWikia.com

ejecutar archivo python desde aplicación php

Stack Overflow en español Asked by InfiniteRoads on March 2, 2021

Estoy trabajando en una aplicación que registra usuarios (algo muy habitual). Entre otras cosas, los usuarios deben adjuntar la foto de su dni. Todo esto lo hemos desarrollado con PHP.

Para verificar que este DNI es correcto, hemos utilizado las librerías de python pytesseract y opencv con los que leemos mediante OCR los datos de la imagen.

De forma individual, los códigos funcionan bien, pero necesito que el archivo de python se ejecute al cargar la imagen (es decir, al hacer submit). Esto es lo que tengo:

<?php if (isset($_FILES['imagen'])){?>
<img src="<?php echo $_FILES['imagen']['name'] ?>" style="max-width:400px"> //esta línea carga una vista previa de la imagen
 <?php exec('C:UsersuserNameAppDataLocalProgramsPythonPython37-32python.exe TextDetectiontextDetection.py') ?> //esta es la que quiero que ejecute el script
<?php }?>

No sé si además sería posible hacer un log para ver lo que ocurre en el proceso y así poder depurarlo.

Tampoco estoy seguro de que el procedimiento sea el más óptimo, por lo que asumo que pueda estar completamente equivocado desde ya.

Gracias de antemano.

One Answer

Para imprimir un script desde PHP puedes usar la función shell_exec

(PHP 4, PHP 5, PHP 7)

shell_exec — Ejecutar un comando mediante el intérprete de comandos y devolver la salida completa como una cadena

Descripción

shell_exec ( string $cmd ) : string

Para ello dentro de la función la ruta completa en donde se encuentra el instalador de python y la ruta junto con el nombre del archivo escrito en python, por ejemplo:

<?php

echo shell_exec('C:ruta_a_pythonPythonPython37-32python.exe hello.py')
//Imprimirá en pantalla "Hello World"

El resultado lo puedes almacenar en una variable y luego puedes manipularla como gustes.

Answered by Luis Alfredo Serrano Díaz on March 2, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP