こんにちは、ありがとうございます。PHP force download .pngファイル
開発したUnityアプリケーションから作成された.pngイメージを強制的にダウンロードするために、次のコードを使用しています。
<?php
//get the input information
$stringName = $_POST["stringName"];//name
$imageString = $_POST["imageString"];//image in string form
$dataX = base64_decode($imageString);//make the string into the image
file_put_contents($stringName, $dataX);//save the image on the server
//everything thing above this line works within Unity
$fileSize = filesize($stringName);//get the file size
//bunch of headers, comments next to the ones I have an idea about
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false);
header("Content-Type: imagepng");//gives content type
header("Content-Length: ".$fileSize);//file size
header("Content-Disposition: attachment; filename=".$stringName);//download file path
header("Content-Transfer-Encoding: binary");
ob_clean();
flush();
readfile($stringName);
?>
私はこれを持っていますが、ダウンロードの確認ボックスが表示されない、または提供された画像で何もしません。
私のプログラムをブラウザで実行すると、上記のスクリプトを呼び出すときに2つのエラーのうち1つが発生します。 Dropboxからアプリケーションをホストしているので、「httpsからhttpに送信できません」というメッセージが表示され、httpsにPHPファイルのアドレスを変更するとタイムアウトします。
最初に、httpsを取得する方法がありますか、そしてhttpを使って通信を許可する方法がありますか?私は、同じ方法でいくつかのプロジェクトを設定しているので、私のユニティプロジェクトをftpサーバーにホストする必要はありません。第二に、PHPスクリプトが正しく動作するかどうか、もしそうなら、私は切り捨てることができるものがありますか?
をあなたは、HTTP/HTTPSの問題に関する追加情報を提供することはできますか? –
混在コンテンツ: 'https:// URL'のページがHTTPS経由で読み込まれましたが、安全でないXMLHttpRequestエンドポイント 'http:// URL'が要求されました。このリクエストはブロックされました。 HTTPS経由でコンテンツを配信する必要があります。 コンソールからエラーが表示されます。 – WilliamLeonSmith