1. このレッスンでは、いくつかの遅延関数を学習します:
(PHP 5、PHP 7)
file_put_contents — ファイルに文字列を書き込みます
$filename
, $filename
, mixed $data
[, int $flags
= 0 [, resource $context
mixed $data
[, int $flags
= 0 [, resource $context
]] ) fopen()、
fwrite()、fclose()を順番に呼び出したのと同じ機能です。 filename
does not exist, the file is created. Otherwise, the existing file is overwritten, unless the FILE_APPEND
filename
が存在しない場合、FILE_APPEND
filename
パラメータ data
データを書き込むファイル名。 書き込まれるデータ。タイプは、string、array、または
stream リソース (前述のように) です。data
をストリームリソースとして指定した場合、ストリームに保存されているキャッシュデータが、data
stream_copy_to_stream()関数を使用する場合と同様の使い方になります。
flags
と同等です。 flags
(PHP.netより) <?php<br />
$file = 'people.txt';
<br /> // Open the file to get existing content<br /> $current = file_get_contents($file);<br /> // Append a new person to the file<br /> $current .= "John Smithn";<br /> // Write the contents back to the file<br />
file_put_contents($file, $current);
<br /> ?>
<?php<br />
$file = 'people.txt';
<br /> // ファイルを開いて既存のファイルを取得しますcontent<br /> $current = file_get_contents($file);<br /> // ファイルに新しい人物を追加します<br /> $current .= "John Smithn";<br /> // コンテンツを書き戻しますファイル<br />
file_put_contents($file, $current);
<br /> ?>
リーリー リーリー リーリー PHP 4、PHP 5、PHP 7
void )
リーリー
FALSE
戻り値
成功した場合は現在の作業ディレクトリが返されます、失敗した場合はが返されます。
FALSE
一部の Unix バリアントでは、親ディレクトリに読み取りモードまたは検索モードが設定されていない場合、現在のディレクトリが設定されている場合でも、getcwd() は依然として
3、<span style="color: #008080;">substr</span>()
(PHP 4, PHP 5, PHP 7)
substr — 返回字符串的子串
$string
, int $start
[, int $length
] ) 返回字符串 string
由 start
和 length
参数指定的子字符串。
string
输入字符串。必须至少有一个字符。
start
如果 start
是非负数,返回的字符串将从 string
的 start
位置开始,从 0 开始计算。例如,在字符串 “abcdef” 中,在位置 0 的字符是 “a”,位置 2 的字符串是 “c” 等等。
如果 start
是负数,返回的字符串将从 string
结尾处向前数第 start
个字符开始。
如果 string
的长度小于 start
,将返回 FALSE
。
Example #1 使用负数 start
<?php<br /> $rest = substr("abcdef", -1); // 返回 "f"
$rest = substr("abcdef", -2); // 返回 "ef"
$rest = substr("abcdef", -3, 1); // 返回 "d"<br /> ?>
length
如果提供了正数的 length
,返回的字符串将从 start
处开始最多包括 length
个字符(取决于 string
的长度)。
如果提供了负数的 length
,那么 string
末尾处的许多字符将会被漏掉(若 start
是负数则从字符串尾部算起)。如果 start
不在这段文本中,那么将返回一个空字符串。
如果提供了值为 0,FALSE
或 NULL
的 length
,那么将返回一个空字符串。
如果没有提供 length
,返回的子字符串将从 start
位置开始直到字符串结尾。
Example #2 使用负数 length
<?php<br /> $rest = substr("abcdef", 0, -1); // 返回 "abcde"
$rest = substr("abcdef", 2, -1); // 返回 "cde"
$rest = substr("abcdef", 4, -4); // 返回 ""
$rest = substr("abcdef", -3, -1); // 返回 "de"<br /> ?>
二、定义个自定义函数
PHP定义函数
<span style="color: #0000ff;">function</span> 函数名(参数1,参数2,参数n) <span style="color: #008000;">//</span><span style="color: #008000;">必须有关键字funciton</span> <span style="color: #000000;">{ 函数体; }</span>
如果要return就ruturn.忘记return返回值,也无所谓。如果函数有返回值,那必须返回。
三、PHP7特性:
PHP7允许在函数中增加返回值。比如string、int、array、object等
function 函数名(): string //注意冒号
{
}
四、课程代码:
第一课我们建立了GOD这个文件,这一课,我们建立GOD_FUNC文件,通过reuqire在god文件中引入函数文件god_func。
同时,我们为了学习PHP7新特性,专门建立god_func7这个文件,并在god文件中判断引入。
1、god
<span style="color: #008000;">#</span><span style="color: #008000;">!/usr/local/php/bin/php</span> <?<span style="color: #000000;">php </span><span style="color: #0000ff;">require</span>('god_fun'.<span style="color: #008080;">substr</span>(<span style="color: #ff00ff;">PHP_VERSION</span>,0,1<span style="color: #000000;">)); //判断PHP版本后引入不同的god_func </span><span style="color: #800080;">$result</span> =''<span style="color: #000000;">; </span><span style="color: #0000ff;">if</span>(<span style="color: #800080;">$argc</span> >=2<span style="color: #000000;"> ) { </span>'-v'==<span style="color: #800080;">$argv</span>[1] && <span style="color: #800080;">$result</span> = 'god version is 1.0 '<span style="color: #000000;">; </span>'init' == <span style="color: #800080;">$argv</span>[1] && <span style="color: #800080;">$result</span> =<span style="color: #000000;"> genConfig(); } </span><span style="color: #0000ff;">echo</span> <span style="color: #800080;">$result</span><span style="color: #000000;">; </span><span style="color: #0000ff;">echo</span> <span style="color: #ff00ff;">PHP_EOL</span><span style="color: #000000;">; </span>?>
2、god_func
<?<span style="color: #000000;">php </span><span style="color: #0000ff;">function</span><span style="color: #000000;"> genConfig() { </span><span style="color: #0000ff;">return</span> <span style="color: #008080;">file_put_contents</span>(<span style="color: #008080;">getcwd</span>().'/god.json','{}').' of bytes is written.'.<span style="color: #ff00ff;">PHP_EOL</span>.'god config is created'<span style="color: #000000;">; } </span>?>
3、god_func7
<span style="color: #008080;">1</span> <?<span style="color: #000000;">php </span><span style="color: #008080;">2</span> <span style="color: #0000ff;">function</span> genConfig():<span style="color: #0000ff;">string</span> <span style="color: #008080;">3</span> <span style="color: #000000;"> { </span><span style="color: #008080;">4</span> <span style="color: #0000ff;">return</span> <span style="color: #008080;">file_put_contents</span>(<span style="color: #008080;">getcwd</span>().'/god.json','{}').' of bytes is written.'.<span style="color: #ff00ff;">PHP_EOL</span>.'god config is created'<span style="color: #000000;">; </span><span style="color: #008080;">5</span> <span style="color: #008080;">6</span> <span style="color: #000000;"> } </span><span style="color: #008080;">7</span> ?>