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
getcwd — 現在の作業ディレクトリを取得します リーリー 文字列 getcwd(
void )
現在の作業ディレクトリを取得します。 FALSE
リーリー
戻り値
成功した場合は現在の作業ディレクトリが返されます、失敗した場合はが返されます。
FALSE
一部の Unix バリアントでは、親ディレクトリに読み取りモードまたは検索モードが設定されていない場合、現在のディレクトリが設定されている場合でも、getcwd() は依然として
を返します。モードと権限の詳細については、
chmod() を参照してください。リーリー リーリー (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>function</span> 函数名(参数1,参数2,参数n) <span>//</span><span>必须有关键字funciton</span> <span>{ 函数体; }</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>#</span><span>!/usr/local/php/bin/php</span> <?<span>php </span><span>require</span>('god_fun'.<span>substr</span>(<span>PHP_VERSION</span>,0,1<span>)); //判断PHP版本后引入不同的god_func </span><span>$result</span> =''<span>; </span><span>if</span>(<span>$argc</span> >=2<span> ) { </span>'-v'==<span>$argv</span>[1] && <span>$result</span> = 'god version is 1.0 '<span>; </span>'init' == <span>$argv</span>[1] && <span>$result</span> =<span> genConfig(); } </span><span>echo</span> <span>$result</span><span>; </span><span>echo</span> <span>PHP_EOL</span><span>; </span>?>
2、god_func
<?<span>php </span><span>function</span><span> genConfig() { </span><span>return</span> <span>file_put_contents</span>(<span>getcwd</span>().'/god.json','{}').' of bytes is written.'.<span>PHP_EOL</span>.'god config is created'<span>; } </span>?>
3、god_func7
<span>1</span> <?<span>php </span><span>2</span> <span>function</span> genConfig():<span>string</span> <span>3</span> <span> { </span><span>4</span> <span>return</span> <span>file_put_contents</span>(<span>getcwd</span>().'/god.json','{}').' of bytes is written.'.<span>PHP_EOL</span>.'god config is created'<span>; </span><span>5</span> <span>6</span> <span> } </span><span>7</span> ?>