私は、ファイル名を取得することができています:
<?php
ob_start();
passthru('wget http://graph.facebook.com/663660516/picture 2>&1');
$out = ob_get_contents();
ob_end_clean();
if (preg_match('/saving to:.{4}([a-z0-9\.-_]*)/i', $out, $match)) {
var_dump($match);
} else {
echo "No match";
}
結果:あなたは、その後の拡張と名前pathinfo()を使用してまたは同様の方法を得ることができる$result[1]
から
array(2) {
[0]=>
string(47) "Saving to: “275781_663660516_1323021723_q.jpg"
[1]=>
string(33) "275781_663660516_1323021723_q.jpg"
}
。
注:正規表現の。{4}は、ファイルの周りに特別な引用符(“
)文字wget出力を消費することです(私のシステムでは少なくとも)。それはPHPで3バイトの長さとして登録し、私は文字コードでそれを一致させることはできませんので、私の意見では少しハックです。また、出力にSaving to:
があるので、システム言語が英語であることを前提としています。
希望に役立ちます。
だから、どのようにファイルの名前と拡張子を取得する方法を知りたいですか? –
詳細をお知らせください。これはあまりにも曖昧です。 –
技術的に、あなたはできません。 URLに基づいて推測するだけで済みますし、存在する場合は 'Content-Disposition'ヘッダから推測することもできます。リモートサーバー上の実際のファイル名を知っている人。 – Brad