2016-09-07 20 views
-2

私は、指定されたURLからxlsxファイルをダウンロードするためにheader()を使用します。ファイルがダウンロードされましたが、私はそれを開くことはできません。それはあなたの質問は奇妙に見える、 enter image description herePHP header()ダウンロード後にxlsxファイルを開くことができません

以下は私のコード

$url = "http://example.com/attachment/file.xlsx" 
header("Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); 
header('Content-Disposition: attachment; filename=Test.xlsx'); 
readfile($url); 
exit(); 
+0

ヘッダ( 'コンテンツタイプ:アプリケーション/ vnd.openxmlformats-officedocument.spreadsheetml.sheet')。ヘッダー( 'Content-Disposition:attachment; filename = "Test.xlsx"');私は確信していません.... –

答えて

1

ランディあるエラーを示しています。応答側の応答のURLは、コード内のURLとは異なっています。

ヘッダーを送信する前に、is_file()やその他のURLのチェックを行い、ファイルが存在する場合にのみダウンロードを開始してください。

ローカルファイルではなく、URLにfopenしようとしていると思われます。また、URLが正しくないか、またはURLにfopenを許可していないサーバーである可能性があります。

サンプル:

$url = "http://example.com/attachment/file.xlsx"; 
    if (!fopen($url,'r')) exit('File/URL not accessible'); 
    else fclose($url); 
    header('Content-Type: application/octet-stream'); 
    header("Content-Transfer-Encoding: Binary"); 
    header('Content-Disposition: attachment; filename=Test.xlsx'); 
    readfile($url); 
    exit(); 
+0

あなたの答えを理解するのに役立ついくつかのコードまたは例を提供する必要があります。私にとって、これはコメントです....答えではありません。 –

+1

コードを追加しました。ありがとうございました。 – Alexander

関連する問題