先だってのファイルアップロード php「EasyUp」を応用。Google Maps API 2 の infoWindow に画像を配置してみる。MySQL などのデータベースは使わず、外部 XML を利用するのみ。
※マップをクリックすると現れる大きなマーカー
をドラッグ&ドロップして位置を決め、これをクリックすると投稿フォームが出る。投稿後に削除することも可能。
※不適当な画像は削除します。(新しいウィンドウで開く)
クラスの定義は元サンプルの php の通り class fileDir。ここに変数 public $adddata; などと追加。
class fileDir {
public $adddata;
private $fileInfo;
......
function upload($theFile){
......
$this->adddata = $this->fileInfo["name"];
......
} ......
}
public $adddata;
private $fileInfo;
......
function upload($theFile){
......
$this->adddata = $this->fileInfo["name"];
......
} ......
}
定義したクラスを利用するため、new ステートメントを使ってオブジェクトを生成・実装
if(isset($_POST['mySubmit'])){
$up = new fileDir("/hoge/");
$up->upload($_FILES["myFile"]);
$adddata = $up->adddata;
}
$up = new fileDir("/hoge/");
$up->upload($_FILES["myFile"]);
$adddata = $up->adddata;
}
このインスタンスは、simplexml_load_file でもってXML にファイル名を書き込むためのもの。
$pdata = $adddata;
......
$addNode["pdata"] = $pdata;
......
......
$addNode["pdata"] = $pdata;
......
このサイトを運用しているロリポップ!レンタルサーバーでは、upload_max_filesize: 2M となっているけれど、ここではサイズの上限を 100KB に設定した。
またファイルの種類も jpg 画像のみに制限、高さ 160px に決め打ちした。
「シロウトでも出来ました」という覚書、以上(ただし改善の余地はある)。