>  Q&A  >  본문

PHP에서 Python 스크립트 실행(Pandas df에 추가 및 파일 저장)

사용자가 xlsx 파일을 선택하고 POST를 통해 제출하면 파일을 가져와 pandas df에 넣고 데이터 정리/포맷을 수행한 다음 다운로드 가능한 csv로 브라우저에 다시 보내고 싶습니다.

python/pandas 스크립트가 제대로 작동하고 있습니다. 간단한 $PHP 변수(파일 이름)를 Python 스크립트에 성공적으로 전달하고 이를 Python에서 인쇄한 다음 PHP에서 에코할 수 있었습니다. ...하지만 나머지 Python 스크립트(pandas 부분)는 실행할 수 없습니다. 내 스크립트의 나머지 부분이 존재하지 않는 것 같습니다.

내가 하는 일은:

  1. 임시로 커밋된 파일을 $_FILES에서 "uploads"(동일한 디렉터리)라는 다른 폴더로 이동합니다.
  2. 새 저장된 파일의 경로를 가져옵니다.
  3. 이것을 Python 스크립트에 전달하고 형식화된 파일을 저장하여 업로드/완료하세요. - 이것이 제가 어딘가에서 실패하고 있는 것 같습니다

(파일을 브라우저로 다시 보내는 방법에 대한 부분을 파악하지 못했습니다. 먼저 파일을 가져오려고 합니다.)

htdocs 폴더에 python venv를 설치했더니 활성화됐네요.

내 PHP:

으아아아

내 Python은 작동합니다:

으아아아

내 Python은 아무 작업도 수행하지 않습니다(일반 파일 이름 하위 sys.argv[1]을 사용할 때 작동함).

으아아아

아직 PHP로 df를 인쇄해 본 적이 없습니다. csv 파일을 생성할 수 있는지 확인하고 싶습니다.

escapeshellcmd와 시스템을 시도했지만 성공하지 못했습니다. 권한 설정을 위해 chmod 777을 언급한 매우 유사한 질문을 여기에서 읽었습니다. 권한을 변경하기 위해 이 작업을 수행했으며 이제 모든 사람이 내 폴더를 읽고 쓸 수 있지만 여전히 작동하지 않습니다.

팬더 부분을 제외하고 모든 것이 잘 작동하고 연결되어 있는 것 같아서 혼란스럽습니다. 누구든지 도와줄 수 있나요? 저는 PHP를 처음 접했고 정말 감사합니다.

P粉536532781P粉536532781179일 전376

모든 응답(1)나는 대답할 것이다

  • P粉488464731

    P粉4884647312024-03-28 17:43:57

    가까운 것 같네요. 문제는 PHP가 서버 측에서 처리된다는 것입니다. 따라서 POST가 웹 페이지 코드를 반환하도록 하려면 HTML을 다시 보내십시오. 서버 측에서 HTML을 생성하는 데 PHP가 사용되기 때문입니다.

    서버에 PHP 엔진이 있는 경우 PHP 서버 측을 저장하고 POST 응답에서 새로 생성된 PHP 페이지에 대한 공개 링크를 반환할 수 있습니다.

    회신하다
    0
  • 취소회신하다