投稿

ラベル(PHP)が付いた投稿を表示しています

スポンサー

【PHP】base64を使ってみよう。

base64とは base64は、すべての文字列を64文字英数字(記号一部含む)で表すことができます。 これは、MIME base64 方式 と言います。 ですが、すべての文字を変換するので、前の容量の33%必要になります。 PHPはbase64にエンコードやデコードするには関数を使用します。 base64_encode()、decode() PHPはbase64に変える際、この関数を使用します。 base64_encode() この関数の使い方は次になります。 $text="base64エンコードするテキスト"; //base64エンコード $encode=base64_encode($text); //エンコード結果を出力 echo $encode; このように、とても簡単な処理でエンコードすることができます。 さあ、エンコードしたものを戻すときはどうするのでしょうか。 エンコードしたものを元に戻す エンコードしたものを元に戻すには次の関数が存在します。 base64_decode() この関数を使用することで、エンコードしたものを元に戻す(デコード)することができます。 エンコードとデコードをまとめると次のようになります。 $text="base64エンコードするテキスト"; //base64エンコード $encode=base64_encode($text); $decode=base64_decode($encode); //エンコード結果を出力 echo $encode."<br>"; //デコード結果を出力 echo $decode; このように、エンコード、デコードと共に簡単に変換することができます。 最後に このエンコードは全角が利用できないときに変換したり、画像など、テキストで表すことができないものをエンコードして出力したりと、様々な活用場面があります。 この関数をぜひ活用して、プログラムを作ってみましょう。

【PHP】文字列の中身を置き換えする方法

特定の文字列を置き換え 例えば、「あせた、いい天気」を「明日、いい天気」に変更したいときなどありますよね。 そのようなときにstr_replaceという関数が役立ちます。 これが使用した例です。 $sample = 'あせた、いい天気。あせた雨降らないといいな。'; //指定した文字列が一致したらすべて置き換える $replace = str_replace('あせた', '明日', $sample); echo $replace; これを実行すると結果は「明日、いい天気。明日雨降らないといいな。」になります。 また、この関数は配列も置き換えることが可能なため、様々な場面で利用できるでしょう。 大文字小文字区別なしで置き換え 先ほどのstr_replaceと似ていますが、str_ireplaceを利用します。 使い方は同じなのでこの記事では解説しませんが、覚えておきましょう。 マルチバイト文字列の置き換え mb_ereb_replaceという関数を利用することでマルチバイト文字列の置き換えができます。 使い方は最初の関数と同様です。 正規表現で置き換え 正規表現で置き換えするには、preg_replace関数を利用します。 使い方はこのような感じです。 $str = '今年は2041年です。'; $str_s = preg_replace('/(今年は)2041/', '$1 2020', $str); echo $str_s; 結果は「今年は 2020年です」となります。 2019/12/10追記 また、正規表現のpreg_replaceより、str_replaceのほうが実行速度が速いです。 正規表現を利用するとき、しないときを考えて使い分けるのがいいでしょう。

【PHP】PHPの変数操作

PHPの変数操作 「変数」自体についてはこの記事では紹介しません。 変数 (プログラミング) - Wikipedia を参照してください。 PHPの変数の操作は次のようになります。 $Sample="サンプル"; このように、変数の最初には$マークを付けます。 この処理は、 変数「Sample」に文字列「サンプル」を挿入した。 というものになります。 変数を出力したいときは次のようにプログラムを書きます。 echo $Sample echoを利用して出力しています。echo(エコー)とは、エコーのように返ってくることからこの名前が付けられています。 PHPの変数の注意点としてこちらが挙げられます。 $から始まる $の後に数字はできない 大文字小文字は区別される また、関数外の変数を関数内のプログラムにも使用するには次のコードを書く必要があります。 global $Sample; このコードを関数の最初に記述することで利用することができるようになります。 また、複数の変数を指定する場合は、カンマ区切りで global $Sample, $Sample2; のように指定すれば大丈夫です。 また、連結時や乗算時は「+」ではなく「.」を使用することに注意しましょう。

【PHP】fire_get_contentsでユーザーエージェントを変更しよう

fire_get_contentsとは fire_get_contentsの記事ではないので、詳しくは説明しませんが、いわゆる「サイト/ページの出力を文字列で返す」ものです。 例えば、 $file=file_get_contents("https://google.com"); echo $file; の処理だとgoogle.comのHTMLが返ります。 ですが、Googleはユーザーエージェントによりサイトを切り替えているためユーザーエージェントがないアクセスでは古いブラウザ専用のHTMLが送信されてしまいます。 なので、ユーザーエージェントを種類ブラウザ等に偽造送信し、通常ブラウザ用のサイトにする必要があります。 ユーザーエージェントを変更する方法 このコードで自分の思い通りのユーザーエージェントにすることができます。 $url="https://google.com"; $sitehtml = file_get_contents($url, false, stream_context_create(array( 'http'=>array( 'method'=>"GET", 'header'=>"User-Agent: ここにユーザーエージェントを記述", 'ignore_errors'=>true, ), ))); 例えば、アクセスしたユーザーのユーザーエージェントでアクセスしたい場合は次のようにします。 $url="https://google.com"; $sitehtml = file_get_contents($url, false, stream_context_create(array( 'http'=>array( 'method'=>"GET", 'header'=>"User-Agent: ".$_SERV...

広告

このブログの人気の投稿

【CSS】アニメーション等動作がカクカクする時の対処法

超軽量DOM操作ライブラリdom_sen.js var2

超軽量DOM操作ライブラリdom_sen.js var1