質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

ダウンロード

リモートシステムからローカルシステムへとデータを受信する事、もしくはそのようなデータ転送を行う事をダウンロードと呼びます。

Q&A

解決済

1回答

3455閲覧

[PHP] iosでダウンロードができない

zcraft

総合スコア17

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

ダウンロード

リモートシステムからローカルシステムへとデータを受信する事、もしくはそのようなデータ転送を行う事をダウンロードと呼びます。

0グッド

0クリップ

投稿2020/01/27 05:30

編集2020/01/27 05:50

phpでダウンロード機能を実装しました。
ios以外ではダウンロードが全て成功します。

なぜかiosだけがダウンロードができない状況です。
※safaiが無理だったのでchromeで試したあらファイルは保存できましたがファイルは開けない状態。

同じような症状の記事を探しても
同じような症状の方がいらっしゃらないので
ご存じの方がいらっしゃるのでしたらご教示ください。
以下がios以外が成功しているものです。

$downloadPath = '/xxx/xxx/'; $downloadFileName = 'xxx.mp4'; $path = $downloadPath.$downloadFileName; header('Content-type: application/octet-stream'); header('Content-Disposition: filename='.$downloadFileName); header('Content-Length: '.filesize($path)); while(ob_get_level() > 0){ ob_end_clean(); } ob_start(); if($file = fopen($path, 'rb')){ while(!feof($file) and (connection_status() == 0)){ echo fread($file, '4096'); ob_flush(); } ob_flush(); fclose($file); } ob_end_clean();

ios対策があるのかないのか
ある場合はどのように対策したらよいのかどうか
またどうしてダウンロードができないのかどうかも可能なら知りたいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2020/01/27 05:37

仮にしてもせめて構文エラーのでないコードをご提示ください
guest

回答1

0

ベストアンサー

ヘッダで出力したfilenameがダブルクォートで閉じてませんが
閉じても無理ですか?
$downloadFileNameは、英数のみで構成されていますか?
変に日本語とかいれると環境的におかしくなる場合はあります

投稿2020/01/27 05:40

yambejp

総合スコア114574

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

zcraft

2020/01/27 05:50

ご回答ありがとうございます。 ご指摘頂いた部分は記述ミスでした。 画像は表示されiosでは長押しダウンロードは可能ですが mp4は再生できない症状は変わらずです。
zcraft

2020/01/27 05:51

$downloadFileNameについては 日本語は利用しておりません。
yambejp

2020/01/27 05:54

> 長押しダウンロードは可能 ダウンロードしたファイルのファイルサイズと オリジナルファイルのサイズ、差異がでてたりしませんか?
zcraft

2020/01/27 06:00

差異というより 拡張子.htmlになぜか変換されております。 オリジナルの拡張子は.mp4です
yambejp

2020/01/27 06:05

header('Content-Disposition: attachment; filename="..."'); attachmentつけでもだめですか? header('Content-Transfer-Encoding: binary'); とか追加してもだめですか?
zcraft

2020/01/27 06:05

andoroid,windowでは問題なくダウンロードができます。 iosでも同じように正常にダウンロードが可能にする方法はあるのでしょうか。
zcraft

2020/01/27 06:09

おーー できました!attachment; を追加したらできました。 ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問