私はビデオファイルの長さを出力するpowershellスクリプトを持っています。このスクリプトを実行すると、期待通りの結果が得られます。Powershellはshell_execを使用してPHP変数に出力します
$Folder = 'C:\my\path\to\folder'
$File = 'sample1_1280_720.mp4'
$LengthColumn = 27
$objShell = New-Object -ComObject Shell.Application
$objFolder = $objShell.Namespace($Folder)
$objFile = $objFolder.ParseName($File)
$Length = $objFolder.GetDetailsOf($objFile, $LengthColumn)
Write-Output $Length
PHPファイルでは、この出力を変数に保存しようとしています。
shell_execから出力される文字列は、cmdからpowershellを起動したときに表示されるテキストです。 Windows PowerShell 著作権(C)2016 Microsoft Corporation。全著作権所有。ビデオ期間を抽出する方法に関する提案はありますか?
何が '追加する場合-NoLogo'あなたのPowerShellコマンドに'もしくはshell_exec() 'になりますか? –
"powershell -NoLogo -File ..." - 同じ出力を出力します – Thomas
これは、 'shell_exec()'があなたが渡しているコマンドラインを処理する方法について何かが間違っていることを示唆しています。スクリプトにコードを追加して結果をファイルに出力すると、ファイルが作成され、期待通りの結果が得られますか? –