プログラミング言語や環境設定を中心としたパソコン関連の技術メモです。 主にシステム開発中に調べたことをメモしています。TIPS的な位置付けで、気が向いたときにちまちま更新していきます。
プログラミング言語や環境設定を中心としたパソコン関連の技術メモです。 主にシステム開発中に調べたことをメモしています。TIPS的な位置付けで、気が向いたときにちまちま更新していきます。
strip_tags関数を使って、文字列に含まれるHTMLタグやPHPタグ(開始タグ〜終了タグ)を削除する方法について解説します。 この記事のポイント 文字列に含まれるHTMLタグやPHPタグを取り除く 取り除きたくないHTMLを指定することもできる HTMLのコメントアウト、PHPタグは取り除かない指定はできない HTMLタグやPHPタグを取り除く strip_tags関数を使うと、文字列に含まれるHTMLタグやPHPタグを取り除くことができます。 PHP コード例 $str = "<p><?php var_dump('string'); ?>テスト<br>テキスト</p>"; echo strip_tags( $str, '<h1><br>'); 出力例 テスト テキスト 上記のコードでは文字列に含むp要素と<php? 〜 ?>(PHPコード)を取り除いています。 br要素は取り除かれ
別のページやサイトに移動させたいとき、header関数をよく使います。 フォーム送信完了後に自動的に別のページに遷移させたり、ログイン処理の判定など、使い方も様々ですね。 PHPでのリダイレクトの方法は簡単ですが、header関数の前に何かしら出力してしまいエラーにハマる人も多いようです。 そんなよくあるエラーもご紹介しますので、なぜか上手くいかない人もこれをチェックすればすぐに解決できるでしょう。
PHPでテキストファイルなどのファイルへの、文字列やデータの書き込み方法をご紹介します。 ファイル操作は敷居が高いイメージもあり、なかなか手を出さない人も多いのではないでしょうか。 しかし、実際にプログラムしてみると簡単に書き込みや読み込みが出来ることが分かります。 今回はいくつかの方法で簡単にファイルに書き込めるプログラムをご紹介します。 それと、何故かエラーで書き込めないという人もいるでしょう。 パーミッションと呼ばれる権限を適切に設定すれば、PHPプログラムで簡単にファイルへの書き込みができます。 そういったエラーの対処法も併せてご紹介します。 file_put_contents関数で簡単に書き込み オープンからクローズまでを1つの関数で簡略化 file_put_contents()を使えばfopen()fwrite()fclose()による一連のファイルオープンから書き込み、クロー
Foo\Bar\Buzクラスのインスタンスから"Buz"を求める関数です。 いろんな実装方法があるのですが、結論から言うと読みやすさと速さの観点から(new \ReflectionClass($obj))->getShortName()が一番良さそうです。 実装1: クラス名をファイルパスに見立ててbasenameで調べるhackeyなパターン namespace Foo; class Bar {} function get_simple_name1($obj) { return basename(strtr(get_class($obj), '\\', '/')); } assert(get_simple_name1(new \Foo\Bar) === 'Bar'); assert(get_simple_name1(new \Exception) === 'Exception'); fu
PHP+Oracle のアプリケーションを構築する場合、例えば文字コードを UTF-8 で統一するならば、NLS_LANG 環境変数に"Japanese_Japan.AL32UTF8"を設定します。 このアプリケーションを Linux 上の Apache で稼動させる場合、通常は Apache のインストールディレクトリの下の bin ディレクトリにある envvas に export NLS_LANG=Japanese_Japan.AL32UTF8 と書いておけば OK です。 ただし、このように設定してしまうと、Apache 上で NLS_LANG 環境変数に異なるキャラクタ・セットを設定していることを前提にしている別のアプリケーションが稼動している場合、それらのアプリケーションの動作に悪影響を及ぼす可能性があります。 このような場合、Apache 全体に対して環境変数を設定するのでは
composerが急に調子が悪くなったので、composer diagnoseで診断した。 すると、下記のようなエラー。 $ composer diagnose Checking platform settings: OK Checking git settings: OK Checking http connectivity to packagist: OK Checking https connectivity to packagist: OK Checking github.com rate limit: OK Checking disk free space: OK Checking pubkeys: FAIL Missing pubkey for tags verification Missing pubkey for dev verification Run composer
プロキシが必要な環境でComposerを使う場合には set HTTP_PROXY=http://ユーザ名:パスワード@プロキシのホスト:ポート番号実行する。それでもcomposerが動かない場合がある。以下の様なエラーがでるときだ。 [Composer\Downloader\TransportException] The "http://packagist.org/p/laravel/laravel$43a87xxx.json" file could not be downloaded (HTTP/1.0 404 Not Found)こういう場合は「composer diag」コマンドで原因調査ができる。 composer diag Checking platform settings: OK Checking git settings: OK Checking http connect
laravelのコアファイルより発掘。 function array_set(&$array, $key, $value) { if (is_null($key)) return $array = $value; $keys = explode('.', $key); while (count($keys) > 1) { $key = array_shift($keys); if ( ! isset($array[$key]) or ! is_array($array[$key])) { $array[$key] = array(); } $array =& $array[$key]; } $array[array_shift($keys)] = $value; } 使い方は下記の通り // $array['user']['name'] にセットしたい場合 array_set($array
PHPでPOST値を配列として受け取る方法を記載します。 配列も値をformでPOSTすることができます。 <form method="POST" action=""> <input type="checkbox" name="type" value="1"> <input type="checkbox" name="type" value="2"> <input type="checkbox" name="type" value="3"> </form> 上は通常の例、配列で渡したい場合は下記のようにname属性の値の最後に [] を付けると良い。 <form method="POST" action=""> <input type="checkbox" name="type[]" value="1"> <input type="checkbox" name="type[]" value
<?php $foods = [ ['name' => 'Apple', 'category' => 'fruits'], ['name' => 'Strawberry', 'category' => 'fruits'], ['name' => 'Tomato', 'category' => 'vegetables'], ['name' => 'Carot', 'category' => 'vegetables'], ['name' => 'water', 'category' => 'drink'], ['name' => 'beer', 'category' => 'drink'], ]; ?> <?php $expected = [ 'fruits' => [ ['name' => 'Apple', 'category' => 'fruits'], ['name' => 'Straw
PHP5.5で入ったarray_column()がとても便利だと言うことを@edvakf@githubに教えてもらった。 DBから取得したデータとか下のような形式になってることがよくある。 <?php $rows = [ 0 => [ 'id' => 40, 'title' => 'dave', 'comment' => 'Hello, world!'], 1 => [ 'id' => 10, 'title' => 'alice', 'comment' => '你好,世界!'], 2 => [ 'id' => 30, 'title' => 'charlie', 'comment' => 'こんにちは、世界!' ], 3 => [ 'id' => 20, 'title' => 'bob', 'comment' => 'Salve , per omnia saecula !' ], ]; こう
PHPで現在アクセしているPHPファイルが、どのドメインからアクセスされているのかPHPで取得する方法。PHPで内部リンクのURLを絶対パスにする場合などに使うと便利です。 PHPで現在アクセス中のPHPファイルのドメイン・URLを取得する まずは現在のアクセスが HTTPなのか?HTTPSなのか? http以外では値が空となりますので空の場合はhttp://となるようにする。 $url = empty($_SERVER["HTTPS"]) ? "http://" : "https://"; 次に、現在アクセス中のドメインを取得する $url .= $_SERVER["HTTP_HOST"]; 最後にファイルへのパス $url .= $_SERVER["REQUEST_URI"]; まとめると $url = empty($_SERVER["HTTPS"]) ? "http://" : "h
私は、WordPressのデータベースのバックアップをphpMyAdminで行っていますが、デフォルトではインポートできるファイルサイズが2MB=2048KiBとなっています。幸いなことに、いままでバックアップを戻す機会がなかったので、制限あるなぁと思いつつバックアップであるエクスポートには影響ないのでそのままにしていました。 近いうちに現在のWordPressを動かしている自宅PCサーバーのリプレースを考えていまして、そうすると新サーバーにてデータをインポートするときに上限制限にひっかかってしまう状況です。(現在、zipに圧縮してエクスポートして2.3MBでした。)ということで、2MBの制限を増やして8MBにした備忘録です。 Debianでのphp.iniの場所 ネットでググりますとphp.iniに制限2Mの記述があるので書き換えるとのこと。Debianの場合はどこだ?とファイルを検索す
フォルダ内の古くなったファイルだけを消すには、 filemtime() で最終更新日を取得し、unlink() で削除します。 最終更新日は Unix 時間で取得されるので削除期限の指定には strtotime() を使いました。 「24 hours ago」であれば 24 時間前より古いファイルが削除されます。 単純に 「time() – (60 * 60 * 24)」としたり、mktime() を使ったりするのも良いでしょう。 【注意】 このスクリプトを実行するとファイルが削除されます。 実行前に必ず echo などで削除対象のファイルが適切に指定されているか確認して下さい。 <?php date_default_timezone_set('Asia/Tokyo'); //削除期限 $expire = strtotime("24 hours ago"); //ディレクトリ $dir =
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く