php生成按指定时间以来的,年、季度、月份的下拉列表
代码如下 | 复制代码 |
function countSeason($start,$end){ $temp = date("Y-m",strtotime("$start +3month")); while ($temp <= $end){ $time[] = $temp; $temp = date("Y-m",strtotime("$temp +3month")); } return $time; } $time = countSeason("2008-10",date("Y-m")); ?> <select name="select_season" id="select"> <option> 按季度查看 </option> <?php foreach ($time as $val){?> <option value="http://www./<?php echo $val;?>"><?php echo substr($val,0,4);?>年 第<?php $temp = intval(substr($val,5,2)); if (0<$temp&&$temp<4) {echo "1";} elseif (3<$temp&&$temp<7) {echo "2";} elseif (6<$temp&&$temp<10) {echo "3";} else {echo "4";} ?>季度</option> <?php }?> </select> |
/*
直接循环
如果是月,则循环变量每次增加1(月)
如果是年,则每次增加12(月),
同时输出date('Y-m')或者 date('Y')
*/
php 文件在线压缩代码
class PHPZip
{
function Zip($dir, $zipfilename)
{
if (@function_exists('gzcompress'))
{
$curdir = getcwd();
if (is_array($dir))
{
$filelist = $dir;
}
else
{
$filelist = $this -> GetFileList($dir);
}
if ((!empty($dir))&&(!is_array($dir))&&(file_exists
($dir))) chdir($dir);
else chdir($curdir);
if (count($filelist)>0)
{
foreach($filelist as $filename)
{
if (is_file($filename))
{
$fd = fopen ($filename,
"r");
$content = @fread ($fd,
filesize ($filename));
fclose ($fd);
if (is_array($dir))
$filename = basename($filename);
$this -> addFile($content,
$filename);
}
}
$out = $this -> file();
chdir($curdir);
$fp = fopen($zipfilename, "w");
fwrite($fp, $out, strlen($out));
fclose($fp);
}
return 1;
}
else return 0;
}
function GetFileList($dir)
{
if (file_exists($dir))
{
$args = func_get_args();
$pref = $args[1];
$dh = opendir($dir);
while($files = readdir($dh))
{
if (($files!=".")&&($files!=".."))
{
if (is_dir($dir.$files))
{
$curdir = getcwd();
chdir($dir.$files);
$file = array_merge($file,
$this -> GetFileList("", "$pref$files/"));
chdir($curdir);
}
else $file[]=$pref.$files;
}
}
closedir($dh);
}
return $file;
}
var $datasec = array();
var $ctrl_dir = array();
var $eof_ctrl_dir = "x50x4bx05x06x00x00x00x00";
var $old_offset = 0;
/**
* Converts an Unix timestamp to a four byte DOS date and time format
(date
* in high two bytes, time in low two bytes allowing magnitude
comparison).
*
* @param integer the current Unix timestamp
*
* @return integer the current date in a four byte DOS format
*
* @access private
*/
function unix2DosTime($unixtime = 0) {
$timearray = ($unixtime == 0) ? getdate() : getdate($unixtime);
if ($timearray['year'] < 1980) {
$timearray['year'] = 1980;
$timearray['mon'] = 1;
$timearray['mday'] = 1;
$timearray['hours'] = 0;
$timearray['minutes'] = 0;
$timearray['seconds'] = 0;
} // end if
return (($timearray['year'] - 1980) << 25) | ($timearray['mon'] <<
21) | ($timearray['mday'] << 16) |
($timearray['hours'] << 11) | ($timearray['minutes'] << 5) |
($timearray['seconds'] >> 1);
} // end of the 'unix2DosTime()' method
/**
* Adds "file" to archive
*
* @param string file contents
* @param string name of the file in the archive (may contains the
path)
* @param integer the current timestamp
*
* @access public
*/
function addFile($data, $name, $time = 0)
{
$name = str_replace('\', '/', $name);
$dtime = dechex($this->unix2DosTime($time));
$hexdtime = 'x' . $dtime[6] . $dtime[7]
. 'x' . $dtime[4] . $dtime[5]
. 'x' . $dtime[2] . $dtime[3]
. 'x' . $dtime[0] . $dtime[1];
eval('$hexdtime = "' . $hexdtime . '";');
$fr = "x50x4bx03x04";
$fr .= "x14x00"; // ver needed to extract
$fr .= "x00x00"; // gen purpose bit flag
$fr .= "x08x00"; // compression method
$fr .= $hexdtime; // last mod time and date
// "local file header" segment
$unc_len = strlen($data);
$crc = crc32($data);
$zdata = gzcompress($data);
$c_len = strlen($zdata);
$zdata = substr(substr($zdata, 0, strlen($zdata) - 4), 2); // fix
crc bug
$fr .= pack('V', $crc); // crc32
$fr .= pack('V', $c_len); // compressed filesize
$fr .= pack('V', $unc_len); // uncompressed filesize
$fr .= pack('v', strlen($name)); // length of filename
$fr .= pack('v', 0); // extra field length
$fr .= $name;
// "file data" segment
$fr .= $zdata;
// "data descriptor" segment (optional but necessary if archive is
not
// served as file)
$fr .= pack('V', $crc); // crc32
$fr .= pack('V', $c_len); // compressed filesize
$fr .= pack('V', $unc_len); // uncompressed filesize
// add this entry to array
$this -> datasec[] = $fr;
$new_offset = strlen(implode('', $this->datasec));
// now add to central directory record
$cdrec = "x50x4bx01x02";
$cdrec .= "x00x00"; // version made by
$cdrec .= "x14x00"; // version needed to extract
$cdrec .= "x00x00"; // gen purpose bit flag
$cdrec .= "x08x00"; // compression method
$cdrec .= $hexdtime; // last mod time & date
$cdrec .= pack('V', $crc); // crc32
$cdrec .= pack('V', $c_len); // compressed filesize
$cdrec .= pack('V', $unc_len); // uncompressed filesize
$cdrec .= pack('v', strlen($name) ); // length of filename
$cdrec .= pack('v', 0 ); // extra field length
$cdrec .= pack('v', 0 ); // file comment length
$cdrec .= pack('v', 0 ); // disk number start
$cdrec .= pack('v', 0 ); // internal file attributes
$cdrec .= pack('V', 32 ); // external file attributes -
'archive' bit set
$cdrec .= pack('V', $this -> old_offset ); // relative offset of
local header
$this -> old_offset = $new_offset;
$cdrec .= $name;
// optional extra field, file comment goes here
// save to central directory
$this -> ctrl_dir[] = $cdrec;
} // end of the 'addFile()' method
/**
* Dumps out file
*
* @return string the zipped file
*
* @access public
*/
function file()
{
$data = implode('', $this -> datasec);
$ctrldir = implode('', $this -> ctrl_dir);
return
$data .
$ctrldir .
$this -> eof_ctrl_dir .
pack('v', sizeof($this -> ctrl_dir)) . // total # of entries
"on this disk"
pack('v', sizeof($this -> ctrl_dir)) . // total # of entries
overall
pack('V', strlen($ctrldir)) . // size of central dir
pack('V', strlen($data)) . // offset to start of
central dir
"x00x00"; // .zip file comment
length
} // end of the 'file()' method
}
//保存图片到数据库
代码如下 | 复制代码 |
If($Picture != "none") { $PSize = filesize($Picture); $mysqlPicture = addslashes(fread(fopen($Picture, "r"), $PSize)); mysql_connect($host,$username,$password) or die("Unable to connect to SQL server"); @mysql_select_db($db) or die("Unable to select database"); mysql_query("INSERT INTO Images (Image) VALUES ($mysqlPicture)") or die("Cant Perform Query"); }else { echo"You did not upload any picture"; } |
//以img标签读取数据库中的图片
代码如下 | 复制代码 |
mysql_connect($host,$username,$password) or die("Unable to connect to SQL server"); //如secoed.php文件代码如下 |
function selected ( $param , $value ) {
if ( $param == $value ) print "SELECTED" ;
}
# Collect any form data to control the display
$scale = 10 ;
$maptype = "G_NORMAL_MAP" ;
if ( $_REQUEST [ scale ]) $scale = $_REQUEST [ scale ];
if ( $_REQUEST [ maptype ]) $maptype = $_REQUEST [ maptype ];
# Geocoding your location
# Note - you would cache this in a file
# The key is domain specific - your google maps教程 key
/*
$location = file("http://maps.google.com/maps/geo?q=48+Spa+Road,+Melksham,+UK&
output=csv&key=ABQIAAAAvp3__HwvT3VkixIIbsW0axQuKI_6t1bH2P0vCI_Q8jfpn8qdNBQMnnelj
xh9czilkau_bYSCXteS_A");
*/
# Following line is hard coded for demo
$location [ 0 ]= "200,8,51.369318,-2.133457" ;
list ( $stat , $acc , $north , $east ) = explode ( "," , $location [ 0 ]);
?>
<html>
<head>
<title>Well House Manor, Melksham</title>
<script src="http://maps.google.com/maps?file=api&v=2&
key=ABQIAAAAvp3__HwvT3VkixIIbsW0axQuKI_6t1bH2P0vCI_Q8jfpn8qdNBQMnneljxh9czilkau_
bYSCXteS_A"
type="text/javascript教程"></script>
<script type="text/javascript">
//<![CDATA[
function load() {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map"));
map.setCenter(new GLatLng(51.36905, -2.1335), <?= $scale ?> );
map.setMapType( <?= $maptype ?> );
var manor = new GLatLng( <?= $north ?> , <?= $east ?> );
map.addOverlay(new GMarker(manor));
}
}
//]]>
</script>
</head>
<body onLoad="load()" onUnload="GUnload()">
<table><tr valign=top><td>
<h1>Well House Manor, Melksham</h1>
<img src=http://filesimg.111cn.net/2010/03/20100525003348607.jpg><br>
• Business Hotel in Melksham<br>
• All rooms fitted to superior standard<br>
• Internet Access throughout<br>
• Plenty of parking and close to town centre<br><br>
<a href=http://www.wellhousemanor.co.uk>Well House
Manor website</a><hr>
<form method=POST> Change to
<select name=scale>
<option value=7 <?= selected ( $scale , 7 ) ?> >Overview</option>
<option value=10 <?= selected ( $scale , 10 ) ?> >County</option>
<option value=13 <?= selected ( $scale , 13 ) ?> >Town</option>
<option value=16 <?= selected ( $scale , 16 ) ?> >Street</option>
<option value=19 <?= selected ( $scale , 19 ) ?> >Building</option>
</select>
<select name=maptype>
<option value=G_NORMAL_MAP <?= selected ( $maptype , "G_NORMAL_MAP" ) ?> >
Normal map</option>
<option value=G_SATELLITE_MAP <?= selected ( $maptype , "G_SATELLITE_MAP" ) ?> >
Satellite data</option>
<option value=G_HYBRID_MAP <?= selected ( $maptype , "G_HYBRID_MAP" ) ?> >
Hybrid</option>
</select>
<input type=submit value="go!"></form><br>
This is a sample PHP page with Google Maps<br>
teach you how to write pages like this</a><br>
Date - <?= date ( "F, jS l Y" ) ?> <br>
</td><td>
<div id="map" style="width: 450px; height: 550px"</div>
</td></tr></table>
</body>
</html>
这是自动保存草稿的核心的一部分,
autosavetime(sec) 这个函数是用来开始计时的
clearTimeout(autosavetimer);清除定时器
document.getElementById('autosavetimebox').innerHTML=sec+"秒"; 取得页面中的autosavetimebox对像,并向其写入倒计时
if(sec>0) {
autosavetimer = setTimeout("autosavetime("+sec+"-1)",1000);
//这里就是如果当sec>0的时候,第一秒执行一次autosavetime这个函数,同时会把sec-1的值写入autosavetimebox中
}else {
var title=document.getElementById('title');
if(title.value!=''){
autosave_post();
}else{
document.getElementById('autosavetimebox').innerHTML='不用保存';
}
这一部分,就是当sec>0的条件不成立,呵呵,就是sec<=0的时候,开始执行保存草稿
首先会判断文章的标题是否为空,如果不会为空,就执行autosave_post()这个函数,否则就写入‘不用保存’
}
php教程代码
代码如下 | 复制代码 |
var userAgent = navigator.userAgent.toLowerCase(); var posturl=url; if (!xmlHttp) { // 提交表单的方式 // 当表单提交完成后触发一个事件 |
自动保存的js代码
代码如下 | 复制代码 |
var autosavetimer; function autosavetime(sec) { clearTimeout(autosavetimer); document.getElementById('autosavetimebox').innerHTML=sec+"秒"; if(sec>0) { autosavetimer = setTimeout("autosavetime("+sec+"-1)",1000); }else { var blogtitle=document.getElementById('title'); if(blogtitle.value!=''){ autosave_post(); }else{ document.getElementById('autosavetimebox').innerHTML='不用保存'; } } } function startimer() { var starttime=document.getElementById('autosavetimebox').innerHTML; if(starttime=='保存成功,您可以在发生意外的时候载入草稿' || starttime=='您还没有添写信息,不用保存草稿') { starttime='60'; }else{ starttime=starttime.replace('秒',''); } var autosavefunbox=document.getElementById('autosavefunbox'); autosavefunbox.innerHTML='<a href="javascript教程:" onClick="javascript:stoptimer()">停止计时</a>'; starttime==0 ? starttime=60 : starttime=starttime; autosavetime(starttime); } function stoptimer() { var autosavefunbox=document.getElementById('autosavefunbox'); autosavefunbox.innerHTML='<a href="javascript:" onClick="javascript:startimer()">开始计时</a>'; clearTimeout(autosavetimer); } |
相关文章
- 这篇文章主要为大家详细介绍了js实现列表按字母排序,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-08-11
javaScript年份下拉列表框内容为当前年份及前后50年
javascript下拉列表框,内容为当前年份及前后50年,默认选择为当前年份 复制代码 代码如下: <script language="javascript" type="text/javascript"> window.onload=function(){ //设置年份的选择 var myDate= new Date(...2014-05-31- 这篇文章主要介绍了Python 列表(List)的底层实现原理分析,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-09
- /*解决代码高亮太长不换行*/ .syntaxhighlighter{word-break:break-all;} uParse('#newstext', {rootPath: '/e/extend/ueditor/'}) 帝国CMS显示指定时间内更新的信息数...2016-11-01
- 这篇文章主要为大家详细介绍了easyUI下拉列表点击事件的使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2017-05-22
- 这篇文章主要为大家详细介绍了JavaScript实现网页下拉列表的省市联动,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-09-07
- 这篇文章主要介绍了C# 列表List的常用属性和方法介绍,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-04-12
AngularJS使用ngOption实现下拉列表的实例代码
这篇文章主要介绍了AngularJS使用ngOption实现下拉列表的实例代码的相关资料,需要的朋友可以参考下...2016-01-25- 大部分小程序都会有这样的需求,页面有长列表,需要下拉到底时请求后台数据,一直渲染数据,当数据列表长时,会发现明显的卡顿,页面白屏闪顿现象,那么如何实现小程序虚拟列表,感兴趣的可以了解一下...2021-07-16
- 这篇文章主要介绍了php有序列表或数组中删除指定的值的实现代码,删除给定的值之后,得到一个新的有序列表,长度-1,下面是具体的实现方法...2021-08-22
- 这篇文章主要介绍了Perl中的列表和数组学习笔记,本文讲解了列表、数组--列表的存贮、数组的存取、字符串中的方括号和变量替换、列表范围、数组的输出等内容,需要的朋友可以参考下...2020-06-29
- 这篇文章主要介绍了js动态添加带圆圈序号列表的实例代码,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-02-18
- 这篇文章主要介绍了如何让vue长列表快速加载,帮助大家更好的理解和学习使用vue框架,感兴趣的朋友可以了解下...2021-03-26
- 我们在进行CSS网页布局的时候,常常会遇到下拉列表select,我们可以应用CSS对表单的元素进行控制,可是下拉列表select的样式该如何设置呢? 我们来看看下面的xhtml...2017-07-06
- 这篇文章主要介绍了基于jQuery实现音乐播放试听列表的相关资料,需要的朋友可以参考下...2016-04-17
- 这篇文章主要介绍了c++获取进程信息列表和进程所调用的dll列表,大家参考使用吧...2020-04-25
- 本篇随笔主要介绍树列表组件和下拉列表树组件在项目中的使用,以及一个SplitPanel的组件。...2021-05-13
- 这篇文章主要介绍了vue-列表下详情的展开与折叠案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-07-29
- 这篇文章主要为大家详细介绍了Android小程序实现音乐播放列表,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-05-23
- 这篇文章主要介绍了python实现删除列表中某个元素的3种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-04-27