php

multipart/form-data時の生POSTデータを見る

php

php://input は、 enctype="multipart/form-data" に対しては使用できません。とのこと。 どうやら、Content-type: multipart/form-data の時のみ機能しないみたい。 とのことなので、.htaccessでmultipart/form-dataのヘッダーをunsetすればよい.htaccess S…

モジュラス10ウエイト3のチェックデジット

php

必要があって書いた

ビット積をとる

php

必要があって、使ったのでメモ

Mail_mimeで日本語添付ファイル名が文字化けするでござるの巻

php

こんなコードで添付ファイル名が日本語のファイルを送ってたんだけど、、、 $filename = basename( $fullpath ); mb_convert_variables( "ISO-2022-JP", "UTF-8", $filename ); $Mail_mime->addAttachment( $fullpath, "application/octet-stream", $filenam…

配列の間に値を差し込む

php

$array = array( "1", "2", "3" );を $array = array( "1","1.5", "2", "3" );としたい時、 array_splice($array, 1, 0, "1.5");となる。第2引数はoffset、すなわち処理をするカーソル位置、第3引数は、カーソル位置から値を削除する件数(0の場合は削除しな…

setcookieの挙動メモ

php

jsonで送信して、マルチパートレスポンスを受け取る

php

必要があって、検証したのでメモ。 マルチパートレスポンスするPG。 mime.php --boundaryString Content-Type: text/html; charset=UTF-8 <html> <body> <p>複数フィアルのダウンロード</p> </body> </html> --boundaryString Content-Type:text/plain; charset=UTF-8 Content-Disposition:…

phpでSOAP

php

https://dejizo.jp/dev/soap.html これの公開SOAP APIを使ってみる。 $client = new SoapClient('http://public.dejizo.jp/SoapServiceV11.asmx?WSDL'); $p = array( "AuthTicket" => "" ); var_dump( $client->GetDicList($p) ) 昔はもっと大変だったような…

APNS バイナリインターフェイスを試す

php

新しいバイナリインターフェイスが推奨だということで試す。 こんな感じで送信する。 set_certfile( "dev.pem" ); $o->apns_server_url( "ssl://gateway.sandbox.push.apple.com:2195" ); $o->set_priority( 10 ); $o->set_expire( time() ); $o->set_messag…

左寄せで0パディングする

php

1234 -> 12340000のようにする str_pad( 1234, 8, 0, STR_PAD_RIGHT )または sprintf( "%0-8s", 1234 )と記述。 sprintfは-で左寄せに。

symfony2 controllerからのformTypeの操作

php

choice生成用の配列の受け渡しとselectedの設定controller側 $data = array( '1'=> 'a', '2'=>'b'); $form = $this->createForm( new hogeType(), $data ); //selectedの設定。例はbの項目がselectedになる $form->get('foo')->setData('2'); hogeType publi…

php54 suhosinインストール

php

iusにphp54のsuhosinがあるようなので乗り換え。 # wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/6/x86_64/ius-release-1.0-11.ius.el6.noarch.rpm # rpm -ivh ius-release-1.0-11.ius.el6.noarch.rpm # rpm -qa | grep php php-mcrypt-5.4.16-1.…

symfony2 foreign keyの登録でハマる

php

symfony2 doctrineであるテーブルのforeign keyが登録されない事象が発生。どうやらpersist -> flushするオブジェクトが参照先のEntityを知っておかないと駄目な模様。 $em->persist($hoge); $em->flush();こーなってたコードを $fooRepository = $em->getRe…

symfony2 entityにマップしない項目のvalidate

php

entityのバリデーションルールをform classで敢えて外す場合、以下の用に記述する。 $builder ->add('name', 'text', array( 'mapped' => true, //without entity 'constraints' => //adding local validation array( new NotBlank( array('message'=>'入力…

symfony2 複数entityにまたがるformをvalidateする

php

複数entityにまたがるformをvalidateする例えば、こんなFormを作って public function buildForm(FormBuilderInterface $builder, array $options) { $builder ->add('hoge', 'text' ) ->add('foo', new FooType() ); }こうした時、 $form = $this->createFo…

symfony2 validation.ymlを分割する その2

php

ということで、バンドル配下のDependencyInjectionにて同様のことを記述してみた。 public function load(array $configs, ContainerBuilder $container) { $configuration = new Configuration(); $config = $this->processConfiguration($configuration, $…

symfony2 validation.ymlを分割する

php

実験的にやってみただけなのであしからず。/Resources/config/*validation.yml のような感じでワイルドカードで複数定義を読めるようにする。Symfony\Bundle\FrameworkBundle\DependencyInjection; FrameworkExtension.pnp getValidatorYamlMappingFiles() …

symfony2 validation.ymlが読み込まれない

php

何度やってもResources/config/validation.ymlが読み込まれない/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/ DependencyInjection/FrameworkExtension.phpの private function getValidatorYamlMappingFiles(ContainerBuilder $container) …

symfony2 The CSRF token is invalid. Please try to resubmit the form

php

The CSRF token is invalid. Please try to resubmit the formと出る場合はtwig templateに {{ form_rest(form) }}と記述する。controllerからリクエストエラーを確認する場合は $form->bind($this->getRequest()); var_dump( $form->getErrorsAsString() );…

Cannot use a scalar value as an array

Cannot use a scalar value as an array こんなことをするとエラーになる

APNS拡張ペイロードでエラーレスポンスを取得

php

拡張ペイロードで取得可能。 単純形式のペイロードに比べて、 通知期限 エラー応答 をサポート。単純形式に以下を変更、追加して通知パケットを送信 1(固定コマンド 1btyte) 応答識別子(integer 4byte) 有効期限(UNIXタイムスタンプ integer 4byte) 拡張ペイ…

1ファイル内で複数のnamespace指定

php

同一ファイル内での複数の名前空間の定義 の通り、 namespace MyProject { } namespace AnotherProject { } …と定義する。で、この時、同じファイル内にPHPのスクリプトを書きたい時、 session_start(); namespace MyProject { }のように書くのはNG。以下の…

stream_socket_clientのメモ

php

ちょっとやりたいことがあったので、メモ

抽象度高めようとしたら、クラスファイルだらけになりそうでござるの巻

php

例えば、各クライアントごとに、ほぼ同一のトランザクションだけど、違ったインスタンスを利用したい場合。 基本、抽象化されたインスタンス、メソッドを実行したいんだけど、素直にAbstractFactoryするとクライアントの数と組み合わせが膨大で実装の継承ク…

参照渡しの挙動

php

PHPの参照渡しの挙動

symfonyのセッションスコープ管理

php

タブブラウザとかで、セッションメモリの衝突を防ぐためセッション配列のスコープ管理の仕組みを考える。 ちなみにsymfonyを使っているわけではなく、セッション管理の仕組みの調査。sfUserクラスsetAttributeでやるらしい public function setAttribute($na…

autoloaderの衝突

php

PHPUnit/Autoload.phpと衝突して自前のアプリの

PHP5.4 pdo_pgsqlインストール

# yum install php54-devel # yum install php54-pgsql # pecl install pdo_pgsqlと実施。 checking for pg_config... not found configure: error: Cannot find libpq-fe.h. Please specify correct PostgreSQL installation pathと怒られたので、 # yum in…

2分木探索

php

必要があって書いた。 https://gist.github.com/4037394

timezoneの設定

php

PHP Warning: mktime(): It is not safe to rely on the system's timezone settings.とでたので、 date_default_timezone_set( "Asia/Tokyo" );とする。