php
php://input は、 enctype="multipart/form-data" に対しては使用できません。とのこと。 どうやら、Content-type: multipart/form-data の時のみ機能しないみたい。 とのことなので、.htaccessでmultipart/form-dataのヘッダーをunsetすればよい.htaccess S…
必要があって書いた
必要があって、使ったのでメモ
こんなコードで添付ファイル名が日本語のファイルを送ってたんだけど、、、 $filename = basename( $fullpath ); mb_convert_variables( "ISO-2022-JP", "UTF-8", $filename ); $Mail_mime->addAttachment( $fullpath, "application/octet-stream", $filenam…
$array = array( "1", "2", "3" );を $array = array( "1","1.5", "2", "3" );としたい時、 array_splice($array, 1, 0, "1.5");となる。第2引数はoffset、すなわち処理をするカーソル位置、第3引数は、カーソル位置から値を削除する件数(0の場合は削除しな…
必要があって、検証したのでメモ。 マルチパートレスポンスする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:…
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) ) 昔はもっと大変だったような…
新しいバイナリインターフェイスが推奨だということで試す。 こんな感じで送信する。 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…
1234 -> 12340000のようにする str_pad( 1234, 8, 0, STR_PAD_RIGHT )または sprintf( "%0-8s", 1234 )と記述。 sprintfは-で左寄せに。
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…
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 doctrineであるテーブルのforeign keyが登録されない事象が発生。どうやらpersist -> flushするオブジェクトが参照先のEntityを知っておかないと駄目な模様。 $em->persist($hoge); $em->flush();こーなってたコードを $fooRepository = $em->getRe…
entityのバリデーションルールをform classで敢えて外す場合、以下の用に記述する。 $builder ->add('name', 'text', array( 'mapped' => true, //without entity 'constraints' => //adding local validation array( new NotBlank( array('message'=>'入力…
複数entityにまたがるformをvalidateする例えば、こんなFormを作って public function buildForm(FormBuilderInterface $builder, array $options) { $builder ->add('hoge', 'text' ) ->add('foo', new FooType() ); }こうした時、 $form = $this->createFo…
ということで、バンドル配下のDependencyInjectionにて同様のことを記述してみた。 public function load(array $configs, ContainerBuilder $container) { $configuration = new Configuration(); $config = $this->processConfiguration($configuration, $…
実験的にやってみただけなのであしからず。/Resources/config/*validation.yml のような感じでワイルドカードで複数定義を読めるようにする。Symfony\Bundle\FrameworkBundle\DependencyInjection; FrameworkExtension.pnp getValidatorYamlMappingFiles() …
何度やってもResources/config/validation.ymlが読み込まれない/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/ DependencyInjection/FrameworkExtension.phpの private function getValidatorYamlMappingFiles(ContainerBuilder $container) …
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 こんなことをするとエラーになる
拡張ペイロードで取得可能。 単純形式のペイロードに比べて、 通知期限 エラー応答 をサポート。単純形式に以下を変更、追加して通知パケットを送信 1(固定コマンド 1btyte) 応答識別子(integer 4byte) 有効期限(UNIXタイムスタンプ integer 4byte) 拡張ペイ…
同一ファイル内での複数の名前空間の定義 の通り、 namespace MyProject { } namespace AnotherProject { } …と定義する。で、この時、同じファイル内にPHPのスクリプトを書きたい時、 session_start(); namespace MyProject { }のように書くのはNG。以下の…
ちょっとやりたいことがあったので、メモ
例えば、各クライアントごとに、ほぼ同一のトランザクションだけど、違ったインスタンスを利用したい場合。 基本、抽象化されたインスタンス、メソッドを実行したいんだけど、素直にAbstractFactoryするとクライアントの数と組み合わせが膨大で実装の継承ク…
PHPの参照渡しの挙動
タブブラウザとかで、セッションメモリの衝突を防ぐためセッション配列のスコープ管理の仕組みを考える。 ちなみにsymfonyを使っているわけではなく、セッション管理の仕組みの調査。sfUserクラスsetAttributeでやるらしい public function setAttribute($na…
PHPUnit/Autoload.phpと衝突して自前のアプリの
# 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…
必要があって書いた。 https://gist.github.com/4037394
PHP Warning: mktime(): It is not safe to rely on the system's timezone settings.とでたので、 date_default_timezone_set( "Asia/Tokyo" );とする。