タグ

Programmingとphpに関するlarkerのブックマーク (24)

  • PHP勉強:includeとrequireの違い

    Warning: include(nofile.php): failed to open stream: No such file or directory in /var/www/html/index.php on line 8 Warning: include(): Failed opening 'nofile.php' for inclusion (include_path='.:/usr/local/lib/php') in /var/www/html/index.php on line 8

    PHP勉強:includeとrequireの違い
  • PHPのハマりポイントのリンク集 - Qiita

    PHPのハマり情報のまとめです。主に罠な仕様、予想外の振る舞い、ドキュメントに詳しくは書いてない振る舞いについての情報をまとめていきます。ここに載ってない情報があればぜひとも教えて下さい。頂いた情報をもとに随時更新していきます。 PHPは引数が足りないときはエラーになるが、引数が多いぶんには何も言わない - Qiita PHPはときどき掛け算ができない - Qiita PHPのDateTime::ISO8601はISO8601ではない - Qiita SplFileObjectのREAD_AHEAD, SKIP_EMPTY, DROP_NEW_LINEPHPのバージョンによって挙動がバラバラな件 - Qiita PHP: iterable型はiterator_to_array()に渡しちゃいけない - Qiita PHPの正規表現で^$より\A\zがいい理由 - Qiita PHP:文字

    PHPのハマりポイントのリンク集 - Qiita
  • PHPはマルチスレッド化で爆速化できるか? pthreadsの使い方(基礎編)

    PHPの拡張モジュール「pthreads」を使ってマルチスレッド処理ができれば、PHPの弱みである処理速度を向上できるかもしれません。 PHPの開発で並列処理はほとんど使われていません。確かにシンプルにシングルスレッドで同期したプログラムを書きたくなるものの、並列処理を取り入れることでパフォーマンスを大きく改善できる可能性があります。 この記事ではpthreadsという拡張モジュールを使ってPHPでマルチスレッド処理をする方法を紹介します。必要な環境はZTS(Zend Thread Safety)バージョンのPHP 7.xとpthreads v3です。執筆時点では、PHP 7.1ユーザーはpthreadsリポジトリーのマスターブランチからインストールする必要があります。詳しくは『How to Install PHP Extensions from Source(サードパーティー拡張モジュー

    PHPはマルチスレッド化で爆速化できるか? pthreadsの使い方(基礎編)
  • Javascript→PHPに値の渡し方について - OKWAVE

    こんにちは。 例えばですが <script type="text/javascript"> var count = 0; function calc() { count ++; } function regist() { document.frmRegist.count.value = count; document.frmRegist.submit(); } </script> <form name="frmRegist" action="DB登録.php" method="post"> <input type="hidden" name="count" value=""> </form> <input type="button" value="countを加算" onclick="calc();"> <input type="button" value="計算結果を送信" onclic

    Javascript→PHPに値の渡し方について - OKWAVE
  • layer8.sh

    This domain may be for sale!

  • PHPでPOSTの生データを扱う - 243 inari

    下書き保存したと思ってたらそんなものは無かった・・・ 何を書いてたのやら思い出しつつ書き直してみる。 なんとなく覚えてるんですよ。うっすらと。 多分あれだ、PHPでチェックボックスとかラジオボタンとか扱う時の話。 下書き保存してたはずなのに記事が無かったのは何故? <form method="post"> <input type="checkbox" name="chk" value="1" />下書きしたと思い込んでるだけ <input type="checkbox" name="chk" value="2" />雪のせい <input type="checkbox" name="chk" value="3" />電池が切れた <input type="checkbox" name="chk" value="4" />ネジが外れた <input type="submit" value="

    PHPでPOSTの生データを扱う - 243 inari
  • PHP で使用するデータベースクラス

  • Web技術

    「ぱふぅ家のホームページ」の動的なページは「PHP (Hypertext Preprocessor)」によって記述されている。 PHP は、オープンソースのサーバ・サイド・スクリプト言語だ。サーバ・サイド・スクリプトはCGIとは異なり Web サーバが直接実行できるので、サーバにかかる負荷が小さく、応答の早いページを提供することが可能である。 PHPは、C や Perl に近い文法体系を持っているので、これらの言語に慣れている方にお勧めできる。また、C++JavaPythonRuby のように Class を使ったオブジェクト記述も可能だ。 多くの OS(Windows, Linux, macOS X)、Web サーバ(Apache, IIS, PWS)上で動作する点も強みである。 このコーナーでは、PHP を初めて使うという方から、正規表現を使った日語処理、クラウド連携グラフ

  • PHPでXMLを出力する

    覚え書き程度にメモしています。 ASP/PHP/JS/HTML5/CSS3/Android/Objective-C/FLEX/VB/Javaなどなど データベースを利用できない環境でデータをどう保持していこうか。 ありきたりかもしれませんがXMLかなと。。。 PHPではSimpleXMLを使うかDOMを使うか悩みそうなところですが 今回はDOMを触ってみました。 いくつかやったことをメモ程度に。 XMLファイルを生成する // ファイル名 $filename = 'sample.xml'; // Domを生成 $dom = new DomDocument('1.0', 'utf-8'); $dom->formatOutput = true; // 元となる要素を生成 $root = $dom->appendChild($dom->createElement('root')); $head

  • PHPテスト失敗の原因を追究する

    PHPのソースコードをビルドしてテストしてみたら、いくつかのテストが失敗してしまいました。今回は、テストが失敗した理由を探ってみます(編集部) テスト失敗の原因を調べる 前回からPHPの具体的なビルド方法を解説しています。手始めにエクステンションをすべて無効にしてビルドしてみました。configureスクリプトの実行とビルドまで問題なく進めることができましたが、その後、「make test」でテストを実行したところ、いくつかのテストが失敗していることが分かりました。 「make test」によるテストは、そのソフトウェアの開発者にとっては、新たにバグを作り込んでいないことを確認する手段となっています。一般向けにソフトウェアをリリースするときは、テストの結果はすべて成功となっているはずです。それなのに失敗になるテストがあるということは、環境による問題があるのか、ビルド時に何らかのトラブルが起

    PHPテスト失敗の原因を追究する
  • もし『よくわかるPHPの教科書』の著者が徳丸浩の『安全なWebアプリケーションの作り方』を読んだら - ockeghem's blog

    たにぐちまことさんの書かれた『よくわかるPHPの教科書(以下、「よくわかる」)』を購入してパラパラと見ていたら、セキュリティ上の問題がかなりあることに気がつきました。そこで、拙著「体系的に学ぶ 安全なWebアプリケーションの作り方(以下、徳丸)」の章・節毎に照らし合わせて、「よくわかる」の脆弱性について報告します。主に、徳丸の4章と5章を参照します。 4.2 入力処理とセキュリティ 「よくわかる」のサンプルや解説では、入力値検証はほとんどしていません。しかし、入力値検証をしていないからといって即脆弱かというとそうではありません。徳丸でも強調しているように、入力値検証はアプリケーション要件(仕様)に沿っていることを確認するもので、セキュリティ対策が目的ではないからです。 「よくわかる」の中で、私が見た範囲で唯一の入力値検証は、郵便番号のチェックをするものです。以下に引用します(「よくわ

    もし『よくわかるPHPの教科書』の著者が徳丸浩の『安全なWebアプリケーションの作り方』を読んだら - ockeghem's blog
  • Blogger

    Google のウェブログ公開ツールを使って、テキスト、写真、動画を共有できます。

  • PinMarch: Facebook Graph API でいいね!取り

    さて、前回家に帰ってからうまくいかなくなってしまったAPIでのアクセス、とりあえずできるようになったので。AKB48で学ぶFacebookアプリとファンページの連携方法 (ref. web探検隊)を参考にしたことは、書いた通り。 <?php require_once 'facebook-php-sdk/src/facebook.php'; // Create our Application instance. $facebook = new Facebook(array( 'appId' => 'xxxxxxxxxxxxx', 'secret' => 'xxxxxxxxxxxxx', 'cookie' => false, )); $session = $facebook->getSession(); if (!$session) { $url = $facebook->getLoginUr

  • AKB48で学ぶFacebookアプリとファンページの連携方法 - web探検隊

    Facebookでファンページを作ったはいいものの、独自のコンテンツを提供しようとしたら、アプリと連携をさせたいところですよね。そこで、連携方法を調べてみました。ここで必要となるのはFacebookの 自分で開設したファンページ 自分で開発するアプリケーションとなります。連携することで、サーバーからファンページへ以下のような、自動投稿が可能になります。 ファンページを作るファンページの作り方はこちらのエントリーを参照してください。5月に書いたエントリーですが、それ程、変更されていません。アプリケーションを作るfacebook アプリの作り方・PHP 編(2010 年 10 月版)を参照して。マイアプリケーションのページから新規アプリケーションを作成してください → http://www.facebook.com/developers/apps.phpSanbox Mode ONにしておいた

    larker
    larker 2011/03/01
    Facebool-PHP-SDKというのがあるらしい
  • Javaはスクリプト言語より速い・・・のか?

    『プログラミング言語人気TOP10の簡易解説』という記事が人気を呼んでいたのだが、軽快な語り口で面白い読み物だが、語弊がありそうな部分がある。その中で特に、「(Javaは)実行速度はCに及ばないもののスクリプト言語よりは数十倍速い」とある部分が気になったので、簡単な例で検証してみた。 1. PythonPHPJava、Cで不適切な速度比較を行う 最初にコーディングが不適切な場合にプログラミング言語の速度比較を行うと、通説と異なる結果になる事を示したい。 Ubuntu Linuxで、オブジェクトをなるべく使わずに、順列の整数を100万個生成し、ランダムにシャッフルし、クイックソートを行ったときの経過時間を、timeコマンドで計測したものだ。ソート前、ソート後に配列の内容を、", "で連結して標準出力に書き出している。また、PythonAPIをなるべく使ったもの(*無し)と、なるべく使わ

    Javaはスクリプト言語より速い・・・のか?
  • DBクラスの作成 - bnote

    データベースへの接続もクラスにしてみたいと思います。 うまく作れば、DBが変わっても他のソースに与える影響を少なくすることも できそうです。しかし、DB用のクラスはいまだにどんな構造にするか悩みますね。 自前で作らなくてもPEARのDBクラスやdbx、PEAR::DB_DataObjectなどもあります。 とりあえず経験値を上げるということで自作してみます。 まず、接続部分をコンストラクタで切断をデストラクタで行うようにします。 <?php class B3DB { private $link_id; private $pconnect; function __construct($server,$user,$password,$database,$presistency = true){ $this->pconnect = $presistency; if($presistency){

  • PHPのstream wrapperをさわってみた - おぎろぐはてブロ

    PHPには、ストリームラッパーというファイルなどへのアクセスを抽象化するしくみがあります。普段よく使う http:// とかがそうです。 組み込みで提供されるストリームラッパーは以下です。 ファイルシステム HTTP と HTTPS FTP と FTPS PHP 入出力ストリーム 圧縮ストリーム データ (RFC 2397) Glob Phar PHP: Supported Protocols and Wrappers - Manual それぞれどういうふうに使うものなのか試してみました。 ファイルシステム /path/to/file.ext relative/path/to/file.ext fileInCwd.ext C:/path/to/winfile.ext C:\path\to\winfile.ext \\smbserver\share\path\to\winfile.ext f

    PHPのstream wrapperをさわってみた - おぎろぐはてブロ
    larker
    larker 2010/09/17
    stream wrapper
  • PHP_FUNCTIONマクロ - おぎろぐはてブロ

    PHP_FUNCTION(fname) は、以下のようなマクロで、 // main/php.h: #define PHP_FUNCTION ZEND_FUNCTION // Zend/zend_API.h: #define ZEND_FUNCTION(name) ZEND_NAMED_FUNCTION(ZEND_FN(name)) #define ZEND_FN(name) zif_##name #define ZEND_NAMED_FUNCTION(name) void name(INTERNAL_FUNCTION_PARAMETERS) // Zend/zend.h: #define INTERNAL_FUNCTION_PARAMETERS int ht, zval *return_value, zval *this_ptr, int return_value_used TSRMLS_

    PHP_FUNCTIONマクロ - おぎろぐはてブロ
  • http://www.ecoop.net/coop/php4/how2use_GD.html

  • PHPのcopy関数がファイルサイズ分のメモリを消費する件の対策 - hnwの日記

    補足(2010/08/24 15:00):rename関数について言えば、同一ファイルシステム上であればrenameシステムコールを利用するのでこの問題は起こりません。さらに蛇足ですが、ファイルシステムをまたがってrename関数を利用するとコピーしてから削除することになり、アトミック性を保証できないため、障害の原因にならないかどうかの検討が必要だと思います。 「AKIBA de: PHPのrename()関数はファイルシステム間で使うとメモリをバカいする」で指摘されている通り、PHPのcopy関数やファイルシステムをまたがってrename関数を使う場合に、PHPがファイルサイズと同じ大きさのメモリを消費してしまいます。環境によっては再現しないかもしれませんが、僕の手元のMacOSX 10.5+PHP5.3.3環境では再現しました。 <?php // 「dd if=/dev/urando

    PHPのcopy関数がファイルサイズ分のメモリを消費する件の対策 - hnwの日記
    larker
    larker 2010/08/24
    PHP 5.3.3以降でのpatch