/**
*将字符串中的双斜线(//)转换为单斜线(/),但不转换形如(http://)的双斜线
* @strstring
* @returnstring
*/
if ( ! function_exists('reduce_double_slashes'))
{
function reduce_double_slashes($str)
{
return preg_replace("#(^|[^:])//+#", "\\1/", $str);
}
}
/**
*去掉任何出现在字符串开头或结尾的斜线.
* @strstring
* @returnstring
*/
if ( ! function_exists('trim_slashes'))
{
function trim_slashes($str)
{
return trim($str, '/');
}
}
$string="Fred, Bill,, Joe, Jimmy";
$string=reduce_multiples($string,","); //results in "Fred, Bill, Joe, Jimmy"
/**
*去掉多余的一个紧接着一个重复出现的特殊字符。
* @strstring
* @returnstring
*/
if ( ! function_exists('reduce_multiples'))
{
function reduce_multiples($str, $character = ',', $trim = FALSE)
{
$str = preg_replace('#'.preg_quote($character, '#').'{2,}#', $character, $str);
if ($trim === TRUE)
{
$str = trim($str, $character);
}
return $str;
}
}
/**
*将字符串中的单引号和双引号转换为相应的 HTML 字符表示
* @strstring
* @returnstring
*/
if ( ! function_exists('quotes_to_entities'))
{
function quotes_to_entities($str)
{
return str_replace(array("\'","\"","'",'"'), array("'",""","'","""), $str);
}
}
/**
*去掉字符串中的单引号和双引号。
* @strstring
* @returnstring
*/
if ( ! function_exists('strip_quotes'))
{
function strip_quotes($str)
{
return str_replace(array('"', "'"), '', $str);
}
}
/**
*检查 email 是否是一个正确的 email 地址格式。请注意,这实际上并不表示这个地址能接收邮件,只是简单地说明这是一个有效的地址格式。
* @addressstring
* @returnbool
*/
if ( ! function_exists('valid_email'))
{
function valid_email($address)
{
return ( ! preg_match("/^([a-z0-9\+_\-]+)(\.[a-z0-9\+_\-]+)*@([a-z0-9\-]+\.)+[a-z]{2,6}$/ix", $address)) ? FALSE : TRUE;
}
}
/**
*服务器产生能下载数据到你桌面的头. 这对你下载文件有帮助. 第一个参数是下载文件的文件名, 第二个参数是文件数据. Example:
* @filenamestring 文件名
* @data string 数据
* @returnbool
*/
if ( ! function_exists('force_download'))
{
function force_download($filename = '', $data = '')
{
$mimes = array('hqx'=>'application/mac-binhex40',
'cpt'=>'application/mac-compactpro',
'csv'=>array('text/x-comma-separated-values', 'text/comma-separated-values', 'application/octet-stream', 'application/vnd.ms-excel', 'application/x-csv', 'text/x-csv', 'text/csv', 'application/csv', 'application/excel', 'application/vnd.msexcel'),
'bin'=>'application/macbinary',
'dms'=>'application/octet-stream',
'lha'=>'application/octet-stream',
'lzh'=>'application/octet-stream',
'exe'=>array('application/octet-stream', 'application/x-msdownload'),
'class'=>'application/octet-stream',
'psd'=>'application/x-photoshop',
'so'=>'application/octet-stream',
'sea'=>'application/octet-stream',
'dll'=>'application/octet-stream',
'oda'=>'application/oda',
'pdf'=>array('application/pdf', 'application/x-download'),
'ai'=>'application/postscript',
'eps'=>'application/postscript',
'ps'=>'application/postscript',
'smi'=>'application/smil',
'smil'=>'application/smil',
'mif'=>'application/vnd.mif',
'xls'=>array('application/excel', 'application/vnd.ms-excel', 'application/msexcel'),
'ppt'=>array('application/powerpoint', 'application/vnd.ms-powerpoint'),
'wbxml'=>'application/wbxml',
'wmlc'=>'application/wmlc',
'dcr'=>'application/x-director',
'dir'=>'application/x-director',
'dxr'=>'application/x-director',
'dvi'=>'application/x-dvi',
'gtar'=>'application/x-gtar',
'gz'=>'application/x-gzip',
'php'=>'application/x-httpd-php',
'php4'=>'application/x-httpd-php',
'php3'=>'application/x-httpd-php',
'phtml'=>'application/x-httpd-php',
'phps'=>'application/x-httpd-php-source',
'js'=>'application/x-javascript',
'swf'=>'application/x-shockwave-flash',
'sit'=>'application/x-stuffit',
'tar'=>'application/x-tar',
'tgz'=>array('application/x-tar', 'application/x-gzip-compressed'),
'xhtml'=>'application/xhtml+xml',
'xht'=>'application/xhtml+xml',
'zip'=> array('application/x-zip', 'application/zip', 'application/x-zip-compressed'),
'mid'=>'audio/midi',
'midi'=>'audio/midi',
'mpga'=>'audio/mpeg',
'mp2'=>'audio/mpeg',
'mp3'=>array('audio/mpeg', 'audio/mpg', 'audio/mpeg3', 'audio/mp3'),
'aif'=>'audio/x-aiff',
'aiff'=>'audio/x-aiff',
'aifc'=>'audio/x-aiff',
'ram'=>'audio/x-pn-realaudio',
'rm'=>'audio/x-pn-realaudio',
'rpm'=>'audio/x-pn-realaudio-plugin',
'ra'=>'audio/x-realaudio',
'rv'=>'video/vnd.rn-realvideo',
'wav'=>array('audio/x-wav', 'audio/wave', 'audio/wav'),
'bmp'=>array('image/bmp', 'image/x-windows-bmp'),
'gif'=>'image/gif',
'jpeg'=>array('image/jpeg', 'image/pjpeg'),
'jpg'=>array('image/jpeg', 'image/pjpeg'),
'jpe'=>array('image/jpeg', 'image/pjpeg'),
'png'=>array('image/png', 'image/x-png'),
'tiff'=>'image/tiff',
'tif'=>'image/tiff',
'css'=>'text/css',
'html'=>'text/html',
'htm'=>'text/html',
'shtml'=>'text/html',
'txt'=>'text/plain',
'text'=>'text/plain',
'log'=>array('text/plain', 'text/x-log'),
'rtx'=>'text/richtext',
'rtf'=>'text/rtf',
'xml'=>'text/xml',
'xsl'=>'text/xml',
'mpeg'=>'video/mpeg',
'mpg'=>'video/mpeg',
'mpe'=>'video/mpeg',
'qt'=>'video/quicktime',
'mov'=>'video/quicktime',
'avi'=>'video/x-msvideo',
'movie'=>'video/x-sgi-movie',
'doc'=>'application/msword',
'docx'=>array('application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/zip'),
'xlsx'=>array('application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/zip'),
'word'=>array('application/msword', 'application/octet-stream'),
'xl'=>'application/excel',
'eml'=>'message/rfc822',
'json' => array('application/json', 'text/json')
);
if ($filename == '' OR $data == '')
{
return FALSE;
}
// Try to determine if the filename includes a file extension.
// We need it in order to set the MIME type
if (FALSE === strpos($filename, '.'))
{
return FALSE;
}
// Grab the file extension
$x = explode('.', $filename);
$extension = end($x);
// Set a default mime if we can't find it
if ( ! isset($mimes[$extension]))
{
$mime = 'application/octet-stream';
}
else
{
$mime = (is_array($mimes[$extension])) ? $mimes[$extension][0] : $mimes[$extension];
}
// Generate the server headers
if (strpos($_SERVER['HTTP_USER_AGENT'], "MSIE") !== FALSE)
{
header('Content-Type: "'.$mime.'"');
header('Content-Disposition: attachment; filename="'.$filename.'"');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header("Content-Transfer-Encoding: binary");
header('Pragma: public');
header("Content-Length: ".strlen($data));
}
else
{
header('Content-Type: "'.$mime.'"');
header('Content-Disposition: attachment; filename="'.$filename.'"');
header("Content-Transfer-Encoding: binary");
header('Expires: 0');
header('Pragma: no-cache');
header("Content-Length: ".strlen($data));
}
exit($data);
}
}
$data = 'Here is some text!';
$name = 'mytext.txt';
force_download($name, $data);
//如果你想在你的服务器上下载一个存在文件,你需要将它读到一个字符串中:
$data = file_get_contents("/path/to/photo.jpg"); // 读文件内容
$name = 'myphoto.jpg';
force_download($name, $data);
//force_download("2.txt");
//php判断整数和float类型的数据
private function checkNumFloat($number){
$m_factor=pow(10,$decimal);
if((int)($number*$m_factor)==$number*$m_factor && is_numeric($number))
return true;
else
return false;
}