Don't use `PHP_EOL` for textarea of form to array, use it:
array_values(array_filter(explode("\n", str_replace("\r", '', $_POST['data']))))
这些常量在 PHP 的内核中定义。它包含 PHP、Zend 引擎和 SAPI 模块。
PHP_VERSION
(string)
PHP_MAJOR_VERSION
(int)
PHP_MINOR_VERSION
(int)
PHP_RELEASE_VERSION
(int)
PHP_VERSION_ID
(int)
PHP_EXTRA_VERSION
(string)
PHP_ZTS
(int)
PHP_DEBUG
(int)
PHP_MAXPATHLEN
(int)
PHP_OS
(string)
PHP_OS_FAMILY
(string)
'Windows'
、 'BSD'
、
'Darwin'
、 'Solaris'
、
'Linux'
或 'Unknown'
中的一个。
从 PHP 7.2.0 起可用。
PHP_SAPI
(string)
PHP_EOL
(string)
PHP_INT_MAX
(int)
PHP_INT_MIN
(int)
PHP_INT_SIZE
(int)
PHP_FLOAT_DIG
(int)
PHP_FLOAT_EPSILON
(float)
x + 1.0 != 1.0
。
从 PHP 7.2.0 起可用。
PHP_FLOAT_MIN
(float)
- PHP_FLOAT_MAX
。
从 PHP 7.2.0 起可用。
PHP_FLOAT_MAX
(float)
DEFAULT_INCLUDE_PATH
(string)
PEAR_INSTALL_DIR
(string)
PEAR_EXTENSION_DIR
(string)
PHP_EXTENSION_DIR
(string)
PHP_PREFIX
(在 Windows 上是 PHP_PREFIX . "\\ext"
)。
PHP_PREFIX
(string)
PHP_BINDIR
(string)
PHP_BINARY
(string)
PHP_MANDIR
(string)
PHP_LIBDIR
(string)
PHP_DATADIR
(string)
PHP_SYSCONFDIR
(string)
PHP_LOCALSTATEDIR
(string)
PHP_CONFIG_FILE_PATH
(string)
PHP_CONFIG_FILE_SCAN_DIR
(string)
PHP_SHLIB_SUFFIX
(string)
PHP_FD_SETSIZE
(string)
E_ERROR
(int)
E_WARNING
(int)
E_PARSE
(int)
E_NOTICE
(int)
E_CORE_ERROR
(int)
E_CORE_WARNING
(int)
E_COMPILE_ERROR
(int)
E_COMPILE_WARNING
(int)
E_USER_ERROR
(int)
E_USER_WARNING
(int)
E_USER_NOTICE
(int)
E_RECOVERABLE_ERROR
(int)
E_DEPRECATED
(int)
E_USER_DEPRECATED
(int)
E_ALL
(int)
E_STRICT
(int)
__COMPILER_HALT_OFFSET__
(int)
true
(bool)
false
(bool)
null
(null)
PHP_WINDOWS_EVENT_CTRL_C
(int)
CTRL+C
事件。
从 PHP 7.4.0 起可用(仅限 Windows)。
PHP_WINDOWS_EVENT_CTRL_BREAK
(int)
CTRL+BREAK
事件。
从 PHP 7.4.0 起可用(仅限 Windows)。
参见: 魔术常量。
所有在核心扩展 的常量是 PHP 默认定义的。
Don't use `PHP_EOL` for textarea of form to array, use it:
array_values(array_filter(explode("\n", str_replace("\r", '', $_POST['data']))))
PHP_EOL can be used like that:
<?php
$data = 'some data'.PHP_EOL;
$fp = fopen('somefile', 'a');
fwrite($fp, $data);
?>
Which is the same of \r\n or \n depending on the OS.
You can put those lines in a while for example, and create a log file.
Volker's getOS() function needs to have the order of cases changed in the switch statement since "darwin" contains "win", which means that both "windows" and "darwin" will return self::OS_WIN. I've moved the 'dar' case above the 'win' case:
<?php
class System {
const OS_UNKNOWN = 1;
const OS_WIN = 2;
const OS_LINUX = 3;
const OS_OSX = 4;
/**
* @return int
*/
static public function getOS() {
switch (true) {
case stristr(PHP_OS, 'DAR'): return self::OS_OSX;
case stristr(PHP_OS, 'WIN'): return self::OS_WIN;
case stristr(PHP_OS, 'LINUX'): return self::OS_LINUX;
default : return self::OS_UNKNOWN;
}
}
}
?>