ActionScript 3.0 , AIR , FLEXからCocoa, OpenGL
18 Jul
先日添付ファイルを扱うメールフォームの仕事があったのですが、その時に気になった事があったので残しておきます。
殆どこちらのサイトに書いている通りなんですが。。。すみません。
iPhone Safariから画像を投稿する方法 – Shin x blog様
まず、PCではフォームのファイルアップロード機能
を使っていたのですが、PCではもちろんOKでも、iPhoneでは使う事はできません。じゃあどうするの?ってなったのですが、
これはまあ知っていたのですが、対策方法について、mailto: とか使えば普通に添付できるかというと、そんな事はありません。iPhoneのmail.appでは添付する事ができません。
ではどうするか?というと、sms経由で送信する方法です。
smsを起動するには、mailto:のかわりにsms:にするだけです。
以下、サンプルをおいておきますので実際に試してみて下さい。
12 Jul
PHP4のサポートが終了してから、結構な時間が経ち、レンタルサーバーでもPHP4を打ち切るところが出てきましたが、
変更点の一つが、
ってことは、http経由でごにょごにょしている人には、file関数とか、fopenとかに問題がでる恐れがあります。
それを回避するには、様々な方法がありますが、一つには、socket通信する、という方法があります。
使い方はこんなふうです。要はPHPでtelnetしてる感覚ですね。
ちなみに、以下の例では、80番ポートと決めうちしてアクセスしているので、サイトによっては別途ポートを指定する必要があります。
$domain = "www.hi-farm.net"; // 対象ドメイン
$file = "sample.php"; // URL以下のパス(GETも使えます)
$fp = fsockopen($domain, 80, $errno, $errstr, 4); // 80番ポートに接続
$out = "GET /{$file} HTTP/1.1\r\n";
$out .= "Host: {$domain}\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
stream_set_timeout($fp, 4);
while(!feof($fp))
{
$file_data0 .= fget($fp);
}
fclose($fp);
セキュリティうんぬんはわかるので、PHP側での対応はわかるけど、php.iniでしか変えれないのよね。。。
レンタルサーバーやっている業者さんは、単に「変更されますので準備しろ」だけでなくて、テストする環境を用意してくれよ
って思います。。。
ぐちってしまった。。。
10 Jun
ちょっと料理名っぽいですが。
MODxをちょい前から使っているのですが、このMODxは動的にサイトを見せることも可能だし、静的HTMLのエクスポートも可能。
で、今回は、MODxはサイトのジェネレータとして使う事を考え、エクスポートしたファイルをダウンロードできる仕組みを作成。
簡単に言えば、
1. managerから、『サイトのエクスポート』
2. zipダウンロードするmoduleを作成し、指定階層以下のフォルダをzipにしてダウンロード
という流れです。
で、2のところですが、pearのFile/Archive.phpを使いました。
使い方としては、
前提としては、$tardir:zipファイルを作成するフォルダ
File_Archive::extract(
File_Archive::read( $tardir.’export/’ ),
File_Archive::toArchive(’Files.zip’, File_Archive::toOutput() )
);
でいけるはずなのですが、zipを展開できなかった。(Binaryで見てみると、圧縮しているというよりは、ファイルの頭がHTML宣言だったので、きっと圧縮に失敗している)
なので、一度サーバでファイルを作成し、ダウンロードしてからzipファイルを削除 という流れに変更。
変更後がこれ。
File_Archive::extract(
File_Archive::read( $tardir.’export/’ ),
File_Archive::toArchive($tardir.’Files.zip’, File_Archive::toFiles() )
);
$params = array(
‘file’ => $tardir.’Files.zip’,
‘contenttype’ => ‘application/zip’,
‘contentdisposition’ => array(HTTP_DOWNLOAD_ATTACHMENT, ‘Files.zip’),
);
$ret = HTTP_Download::staticSend($params);
unlink($tardir.’Files.zip’);
これで無事zipファイルをダウンロードできました。
2008年2月13日21:28
10 Jun
今月はオフィスを離れて仕事をする事が増えるだろう、ということで、メインマシンである、MacBookで移動中も開発すべく、ローカルにMAMPをインストール。
で、PHPMyAdminの画面を開いても、エラーがでる。
『#2002 – サーバが応答しません (あるいはローカルの MySQL サーバのソケットが正しく設定されていません) 』
ってね。
うーん。。。。。とうなってると、原因はどうやら、PHPMyAdminで使うMySQLの設定が違ってたみたい。
/Applications/MAMP/bin/phpMyAdmin/config.inc.phpのこの箇所をこう記述。
$cfg['Servers'][$i]['extension'] = ‘mysqli’;
無事動く。
当たり前ですね。MySQLのバージョンが5.0.41なんだから。
ってかさいっしょっからその設定に変えておいてよ。
2008年2月3日23:36
9 Jun
PHPでの文字化けに対して、詳しい情報を書いているBLOGを見つけました。
http://hain.jp/index.php/tech-j/2007/02/13/p125
本文に書いている、
『
文字化けが何かというのはご存じのとおり。
PHPにおいて文字化けが起こる理由は
勘違い・思いこみ
これ以外に存在しない。
』
という言葉が衝撃的であったが、php.iniのmbstring.internal_encodingが実は内部エンコードではない、ということなどを詳しく説明してくれている。
初心者向けの書籍などは、詳しく書きすぎても混乱するだけなので省略したり、少々間違っててもわかりやすく記述するのはわかるのだが、internal_encodingなのに『内部エンコード』ではない、というのはちょっと。。。
他にも、
自動変換を利用しない
ということや、php.iniにおいて設定すべき項目、設定すべきではない項目を書いてくれていて、とてもわかりやすかったです。
2007年9月11日19:36