我有一個perl腳本,它將輸入作爲文件並將結果返回到文本文件中。我想使用文件作爲輸入,這是由用戶通過php頁面上傳。爲此,我該怎麼做?我有PHP 5.3.14和ActivePerl 5.14.x.將上傳的文件從php傳遞到Perl腳本
0
A
回答
0
謝謝@leftclickben
我已經解決了這個問題。我使用表單從用戶獲取文件,然後將文件名保存到參數$file
。
然後我通過$file
使用
$result = shell_exec("path\to\perl.pl" $file);
echo $result;
$file
傳遞給perl.pl爲名爲$ARGV[0]
#!usr/bin/perl
$filename = $ARGV[0];
open(HDL, $filename) or die "file not available, restart program\n";
0
在PHP中,當文件上傳時,它首先放置在臨時位置。您可以使用move_uploaded_file()
它移動到其他位置:
http://php.net/manual/en/function.move-uploaded-file.php
然後,你可以打電話給你的Perl腳本以多種方式,其中羅列如下:
How can I call a Perl script from PHP?
所以,讓我們假設您使用的是使用exec()
函數的低級方法,並且該文件上載到名爲「userfile」的文件上傳字段中,則可以使用類似下面的內容:
$perlCommand = // ... something, e.g. from config ...
$workingPath = // ... something, e.g. from config ...
$filename = $workingPath . $_FILES['userfile']['name']
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $filename)) {
$output = array();
$return = 0;
exec($perlCommand . ' ' . $filename, $output, $return);
// Do something with $output and/or $return values
}
請注意,這假定Perl腳本將文件的名稱作爲參數。它可能是從標準輸入中讀取文件,但從問題中不清楚。顯然,如果它是後者,那麼它會有所不同,這又取決於你用來調用Perl的方法。
+0
或者是一種預先製作的腳本,它從表單本身接受輸入,並且用戶修改表單以適應並正常輸出文本到瀏覽器。 ^^ – Jon
相關問題
- 1. PHP腳本將文件上傳到FTP
- 2. 傳遞文件從Javascript上傳到PHP
- 3. 將連接字符串從PHP傳遞到perl腳本
- 4. 從html傳遞變量到perl腳本
- 5. 無法將變量從shell腳本傳遞到perl腳本
- 6. 在Unix中將變量從perl腳本傳遞到shell腳本
- 7. NSURLSessionUploadTask不傳遞文件到php腳本
- 8. 如何從批處理文件傳遞參數到Perl腳本
- 9. 如何傳遞一個HTML文件的內容從PHP到CGI(Perl的)腳本
- 10. 如何將Perl/CGI變量傳遞到我的PHP腳本中
- 11. 如何將PHP上傳文件腳本轉換爲Perl?
- 12. 將數據從PHP腳本傳遞到PHP事件流
- 13. 在PHP腳本之間傳遞上傳的文件
- 14. 將PHP參數從數據庫傳遞給Perl腳本,
- 15. 通過perl CGI腳本上傳文件
- 16. Perl CGI腳本將請求傳遞到PHP
- 17. 將變量從包含的PHP文件傳遞給父腳本
- 18. 將上傳的文件傳遞給python腳本
- 19. 從Javascript/jQuery上傳文件到perl cgi腳本
- 20. 如何將參數傳遞到bat文件中的php腳本
- 21. HTML-將數據傳遞給perl腳本
- 22. 將Perl數組傳遞給bash腳本
- 23. bash腳本將文件上傳到sftp
- 24. 如何將信息從Web傳遞到Perl腳本?
- 25. 將變量從HTML表單傳遞到Perl腳本
- 26. 我需要將變量值從bat文件傳遞到perl腳本
- 27. 想要將結構數組從perl腳本傳遞到cpp文件
- 28. 如何將參數從php文件傳遞到java腳本文件
- 29. 使用bash腳本將單個文件從文件傳遞到python腳本
- 30. PHP:將文件傳遞到腳本作爲stdin
第一陣列的Perl腳本,你嘗試過什麼?其次,你是問如何在PHP中使用上傳的文件?或者如何將它從perl腳本直接傳遞給你想要返回結果的php腳本? – Jon