Я ищу способ получить список Python и отобразить его на моем веб-сайте с помощью PHP.
Я проверил и попробовал много онлайн-запросов помощи, поэтому я надеялся, что кто-то сможет объяснить мне, что я делаю неправильно.
Мой скрипт Python очищает веб-сайт и помещает результат в список Python.
Я пытаюсь достичь следующего:
Я пытался добиться этого с помощью следующего кода:
PHP
<?php
$outputArray = [];
$returnStatus;
exec('python ./scrapeWebsite.py', $outputArray, $returnStatus);
var_dump($outputArray);
echo $returnStatus;
?>
Python:
print(newsHeadlines) -> возврат такого списка: ['item 1','item 2','item 3','item 4']
Однако массив возвращается как array(0) { }, а значение $ returnStatus - 1.
Результатом вашего вызова exec является строка, а не массив. Так что сохраните результат в строке, а затем используйте PHP, чтобы вырезать его и превратить в массив, если нужно (подсказка, PHP взорвать).
Как насчет перехода непосредственно к Python вместо того, чтобы пытаться использовать PHP в середине?
Лучший ответ без файла с использованием JSON: stackoverflow.com/questions/46226655/…






Кодирование списка с помощью JSON и запись его в файл на диске, а затем чтение файла в PHP и декодирование JSON помогли. Чтобы обеспечить актуальность веб-данных, я использую exec(); для выполнения файла python.
Если вы собираетесь использовать полный Python, вы можете использовать этот вариант.
Чтобы помочь другим решить аналогичную проблему, я использовал следующий код:
Python:
myListJson = json.dumps(myList) #Encode our Python list into a JSON string
f = open("./fileName.txt", "w") #Open the file that we want to write to for write access
f.write(myListJson) #Write the JSON String to the file that we have currently open
f.close() #Close the file
PHP:
exec(python3 /path/to/file/script.py); //Will execute the python script, ensure the needed packages are installed on the **SERVER**.
$fileContents = file_get_contents("fileName.txt");
$decodedJson = json_decode($fileContents); //This will now contain your Array like any other PHP Array.
Спасибо за помощь!
Самым простым, вероятно, было бы просто сбросить JSON на диск из вашего скрипта Python и прочитать этот файл из PHP.