2012-03-02 14 views
0

あなたはPHPを呼び出す変数

$imagename = 123; 

$test = ('C:\Windows\System32\cmd.exe /c "rundll32.exe C:\Windows\System32\shimgvw.dll,ImageView_PrintTo /pt "c:\pathtodirectory\$imagename" "photoprint""'); 
echo $test 

$imagename私を助けてくださいことができれば、現在持っている私は、私は運を持つWindows CLIに送信する必要があるコマンドを使用して、変数を呼び出すようにしようとしています123の値ですが、私はいくつかの引用内でそれを呼び出すことはできません助けてください。

ありがとうございました。

+0

関数とメソッドは「呼び出される」、変数は「使用される」、「参照される」、または「補間される」。 – deceze

+0

PHPの外でも引用符は機能しません。クォートブロックの中にエスケープされていないクォートブロックがあります。私は、あなたが他の問題に遭遇する前に、Windowsがそのことについて納得できると思う。 – rockerest

+0

申し訳ありません私はファイル名を使用して、変数を使用しようとしていない場合は、非常に多くの引用と混乱しただけでこれを動作させるために取得しようとするとバンプにimを使用してください – Umi

答えて

0

のいずれかを試してみてください?

$imagename = 123; 
$test = 'C:\Windows\System32\cmd.exe /c "rundll32.exe C:\Windows\System32\shimgvw.dll,ImageView_PrintTo /pt "c:\pathtodirectory\\' . $imagename . '" "photoprint"'; 
echo $test; 
+0

これで$ testをexecやshell_execで使うことはできますか? – Umi

+0

ありがとうFMC – Umi

+0

'exec()'の2番目のパラメータは、コマンド出力の各行を含む配列になります。 'shell_exec()'は、コマンドの出力を含む文字列を返します。君の選択。 – FMCorz

0

最初の文字列は一重引用符で囲まれており、PHPは一重引用符で囲まれた文字列内の変数を解析しません。

はこの1についてどう $test = ("C:\Windows\System32\cmd.exe /c \"rundll32.exe C:\Windows\System32\shimgvw.dll,ImageView_PrintTo /pt \"c:\pathtodirectory\$imagename\" \"photoprint\"\"");

または $test = ('C:\Windows\System32\cmd.exe /c "rundll32.exe C:\Windows\System32\shimgvw.dll,ImageView_PrintTo /pt ' . "\"c:\pathtodirectory\$imagename\"" . ' "photoprint""');

+0

C: \ Windows \ System32 \ cmd.exe/c "rundll32.exe C:\ Windows \ System32 \ shimgvw.dll、ImageView_PrintTo/pt" c:\ pathtodirectory $ imagename "" photoprint ""私はまだ123の代わりに$ imagenameを取得します – Umi

関連する問題