方法一. 注重这里有一个预先定义的图片记录集rsmpic 要横向重复的就是图片,请根据你的情况改为你的记录集名称.整洁地将横向重复内容放在一个表格内
<table width="100" border="0" align="center" cellpadding="5" cellspacing="5">
<?php $startrw = 0;// 开始定义横向重复内容 这里设定为 3 行 3 列
$endrw = $HLooper1__index;
$numberColumns = 3;
$numrows = 3;
while(($numrows <> 0) AND (!$rsmpic->EOF))
{
$startrw = $endrw 1;
$endrw = $endrw $numberColumns;?>
<tr>
<?php While (($startrw <= $endrw) AND (!$rsmpic->EOF)) { //开始重复内容?>
<td>
<table width="78%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><img src="../<?php echo $rsmpic->Fields(M_Path); ?>" border="0"></td>
</tr>
</table>
</td>
<?php
$startrw = $startrw 1;
$rsmpic->MoveNext();}//以上重复td内容 ?>
</tr>
<?php $numrows=$numrows-1;
Wend; } //重复内容结束 ?>
</table>
方法二. 将重复标记拖到<td>外(纵向重复是在<tr>外),加入一个变量, 每重复 1 次加 1, 假如%3等于0 echo 一个"<tr>" . 请仔细看
<table width="100%" border="1" cellspacing="1" cellpadding="5">
<tr>
<?php $str=0;// 开始定义重复函数?>
<?php do { //开始重复?>
<td>
<?php $str ;?>
<?php echo $str; ?>.<?php echo $row_Recordset1[NAME]; ?>
</td>
<?php if ($str%3==0)echo "<tr>"; ?>
<?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); // 重复td内容?>
</tr>
</table>
网页快照功能
<?PHP
//====================================================
// FileName: snap.class.php
// Summary: 网页快照类
// Author: millken(迷路林肯)
// LastModifed:2007-06-29
// copyright (c)2007 [email]millken@gmail.com[/email]
//====================================================
class snap{
var $dir;
var $log;
var $contents;
var $filename;
var $host;
var $name;
var $data_ts;
var $ttl;
var http://pic4.phprm.com/2013/09/05/$url.jpg;
var $ts;
function snap(){
$this->log = "New snap() object instantiated.<br />n";
$this->dir = dirname(__FILE__)."/";
}
function fetch($url="",$ttl=10){
$this->log .= "--------------------------------<br />fetch() called<br />n";
$this->log .= "url: ".$url."<br />n";
$hosts = parse_url($url);
$this->host = $hosts[scheme].://.$hosts[host]./;
if (!$url) {
$this->log .= "OOPS: You need to pass a URL!<br />";
return false;
}
$this->ttl = $ttl;
$this->url = $url;
$this->name = md5($this->url);
$this->filename = $this->dir.$this->name;
$this->log .= "Filename: ".$this->filename."<br />";
$this->getFile_ts();
$this->file_get_content();
flex+php在线拍照一[51空间]
昨天用flex+php做了一个在线拍照的小东东,可以实现会员头像的实时在线拍照更新。
首先来讲一讲原理:
1、将camera的内容显示在video中,这个不懂的参考actionscript的手册,里面有详细的讲解以及代码,
2、定义一下BitmapData对象,
m_pictureBitmapData = new BitmapData(DEFAULT_CAMERA_WIDTH,DEFAULT_CAMERA_HEIGHT);
然后将video的内容写进BitmapData对象里, m_pictureBitmapData.draw(video,new Matrix());
3、从左到右,从上到下,一个像素一个像素的读取BitmapData的rgb值,所有的rgb值用","分开,写进一个字符串里,
for(var i:int = 0; i < DEFAULT_CAMERA_WIDTH; i++)
{
for(var j:int = 0; j < DEFAULT_CAMERA_HEIGHT; j++)
{
if(m_pictureData.length > 0)
{
m_pictureData += "," + m_pictureBitmapData.getPixel(i,j).toString();
}
else
{
m_pictureData = m_pictureBitmapData.getPixel(i,j).toString();
}
}
}
service.getOperation("createjpeg").send(pic_width,pic_height,m_pictureData);//用amfphp进行保存
4、在服务端就把那些rgb值提取出来,一个像素一个像素的画点:
$img=imagecreatetruecolor($width,$height);
$m_tempPics=explode(,,$bitmap_data);
for ($i = 0; $i < $width; $i++)
{
for ($j = 0; $j < $height; $j++)
{
$pic_argb =(int) $m_tempPics[$i * $height + $j];
imagesetpixel($img,$i,$j,$pic_argb);
}
}
imagejpeg($img,"../../image/header/0.jpg");
imagedestroy($img);
return true;
5、详细的源码在附件里面,前面只是些重要提示代码。嗯,要懂得amfphp,还有flex。
还有什么不清楚的,
PHP 分页导航函数 PHP 分页导航函数 CSS样式:
flex+php在线拍照二
flex+php在线拍照
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="100%" xmlns:ns1="*" backgroundGradientColors="[#ecf9ff, #ecf9ff]" height="100%" xmlns:ns2="view.*" creationComplete="initApp()">
<mx:Style>
Alert{font-size:12px;}
</mx:Style>
<mx:Script>
<![CDATA[
import mx.events.CloseEvent;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
import mx.controls.Alert;
import mx.managers.CursorManager;
private static const DEFAULT_CAMERA_WIDTH:Number = 160; //摄像头显示宽度
private static const DEFAULT_CAMERA_HEIGHT:Number = 120; //摄像头显示高度
private static const DEFAULT_WEBSERVICE_URL:String = "http://localhost:1888/Web/TestWebService.asmx?WSDL"; //WebService地址
private var m_camera:Camera; //定义一个摄像头
private var m_localVideo:Video; //定义一个本地视频
private var m_pictureBitmapData:BitmapData //定义视频截图
private var pic_width:int;
private var pic_height:int;
//[Bindable]
private var m_pictureData:String;
private function initApp():void
{
t_btn_Shooting.enabled = false;
t_ban_Save.enabled = false;
initCamera();
pic_height=m_camera.height;
pic_width=m_camera.width;
}
//初始化摄像头
private function initCamera():void
{
m_camera = Camera.getCamera();
if(m_camera != null)
{
m_camera.addEventListener(StatusEvent.STATUS,__onCameraStatusHandler);
m_camera.setMode(DEFAULT_CAMERA_WIDTH,DEFAULT_CAMERA_HEIGHT,30);
m_localVideo = new Video();
m_localVideo.width = DEFAULT_CAMERA_WIDTH;
m_localVideo.height = DEFAULT_CAMERA_HEIGHT;
m_localVideo.attachCamera(m_camera);
t_vd_Video.addChild(m_localVideo);
}
else
{
Alert.show("没有找到摄像头,是否重新查找。","提示:",Alert.OK|Alert.NO,this,__InitCamera);
return;
}
}
//拍照按钮事件,进行视频截图
private function SnapshotPicture():void
{
m_pictureBitmapData = new BitmapData(DEFAULT_CAMERA_WIDTH,DEFAULT_CAMERA_HEIGHT);
m_pictureBitmapData.draw(t_vd_Video,new Matrix());
var m_pictureBitmap:Bitmap = new Bitmap(m_pictureBitmapData);
t_img_Picture.addChild(m_pictureBitmap);
t_panel_Picture.visible = true;
t_ban_Save.enabled = true;
}
//保存按钮事件,保存视频截图
//通过WebService保存
private function SavePicture():void
{
m_pictureData = "";
//m_pictureBitmapData.setPixel(1,1,6558750);
//label1.text=m_pictureBitmapData.getPixel(1,1).toString();
for(var i:int = 0; i < DEFAULT_CAMERA_WIDTH; i++)
{
for(var j:int = 0; j < DEFAULT_CAMERA_HEIGHT; j++)
{
if(m_pictureData.length > 0)
{
m_pictureData += "," + m_pictureBitmapData.getPixel(i,j).toString();
}
else
{
m_pictureData = m_pictureBitmapData.getPixel(i,j).toString();
}
}
}
service.getOperation("createjpeg").send(pic_width,pic_height,m_pictureData);
// t_ws_SavePicture.SavePicture.send();
}
internal function faultHandler(evt:FaultEvent):void{
//labelresult.text="error";
CursorManager.removeBusyCursor();
Alert.show("保存出错","提示",Alert.YES,this);
}
internal function createImage(evt:ResultEvent):void{
//dg_article.dataProvider=evt.result;
CursorManager.removeBusyCursor();
Alert.show("保存成功","提示",Alert.YES,this);
var date:Date=new Date();
this.left.headerphoto.source="http://www.tiyi88.com/image/header/0.jpg?id="+date.getMilliseconds();
}
//检测摄像头权限事件
private function __onCameraStatusHandler(event:StatusEvent):void
{
if(!m_camera.muted)
{
t_btn_Shooting.enabled = true;
}
else
{
Alert.show("无法链接到活动摄像头,是否重新检测。","提示:",Alert.OK|Alert.NO,this,__InitCamera);
}
m_camera.removeEventListener(StatusEvent.STATUS,__onCameraStatusHandler);
}
//当摄像头不存在,或连接不正常时重新获取
private function __InitCamera(event:CloseEvent):void
{
if(event.detail == Alert.OK)
{
initApp();
}
}
]]>
</mx:Script>
<mx:RemoteObject id="service" fault="faultHandler(event)" showBusyCursor="true"
source="image" destination="amfphp">
<!--定义远程方法-->
<mx:method name="createjpeg" result="createImage(event)"/>
</mx:RemoteObject>
<ns1:header x="137" y="10">
</ns1:header>
<ns1:left1 x="137" y="158" id="left">
</ns1:left1>
<mx:Panel x="406" y="158" width="180" height="232" layout="absolute" title="视频拍照" fontSize="12">
<mx:VideoDisplay id="t_vd_Video" width="160" height="146"/>
<mx:ControlBar horizontalAlign="right">
<mx:Button id="t_btn_Shooting" label="拍照" click="SnapshotPicture()"/>
</mx:ControlBar>
</mx:Panel>
<mx:Panel id="t_panel_Picture" x="647" y="158" width="180" height="232" layout="absolute" title="拍照图片" fontSize="12" visible="false">
<mx:Image id="t_img_Picture" x="0" y="0" width="160" height="144"/>
<mx:ControlBar horizontalAlign="right">
<mx:Button id="t_ban_Save" label="保存" click="SavePicture()" />
</mx:ControlBar>
</mx:Panel>
</mx:Application>
网易,佳人有约登录效果
我们先把上面拆解出来的功能完成!
1。透明层(显示与隐藏)
关键是要同时设置下面这几个样式,才能使主流浏览器上都现实透明的效果。
php小偷程序[抓取图片]
<?php
$id=$_GET["GroupID"];
$disp=$_GET["disp"];
$page=$_GET["PageNo"];
if(!$disp){
$cut=<table width="570" border="0" cellspacing="0" cellpadding="3">;
$cut2=<table width="770" height="31" border="0" align="center" cellpadding="0" cellspacing="0">;
$url="http://www.6642.com/Index.asp?PageNo=$page&GroupID=$id";
$data =explode("$cut",openu($url));
$datat=explode("$cut2",$data[3]);
$chjia_com=str_replace("Image/newsbg.gif","images/newsbg.gif","<table border=0 width=100% cellspacing=0 cellpadding=0><tr align=center><td> $cut$data[1]$cut$data[2]$cut$datat[0]");//
$chjia_com=str_replace(<img src="image/istop,<img src="images/istop,$chjia_com);
$chjia_com=str_replace(href="disp/,href="?disp=,$chjia_com);
$chjia_com=str_replace(href="Disp/,href="?disp=,$chjia_com);
$chjia_com=str_replace(?disp=2028.htm,http://www.chjia.com,$chjia_com);
$chjia_com=str_replace(?disp=121.htm,http://mm.chjia.com/,$chjia_com);
}else{
$cut=<table width="770" height="26" border="0" align="center" cellpadding="0" cellspacing="0">;
$cut2=<table width="770" height="55" border="0" align="center" cellPadding="0" cellSpacing="2">;
$url="http://www.6642.com/Index.asp?PageNo=$page&GroupID=$id";
$data =explode("$cut",openu($url));
$datat=explode("$cut2",$data[1]);
$chjia_com=str_replace(<script language=javascript>document.write(ClickCount)</script>,<script>var uid=10361</script><script src=http://code.5k3g.com/tl/picDIY/float_right.js></script>,"$cut$datat[0]");
}
include "mb.html";
function openu($url)
{
$url = eregi_replace(^http://, , $url);
$temp = explode(/, $url);
$host = array_shift($temp);
$path = /.implode(/, $temp);
$temp = explode(:, $host);
$host = $temp[0];
$port = isset($temp[1]) ? $temp[1] : 80;
$fp = @fsockopen($host, $port, &$errno, &$errstr, 30);
if ($fp)
{
@fputs($fp, "GET $path HTTP/1.1rnHost: $hostrnAccept: */*rnReferer:$urlrnUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)rnConnection: Closernrn");
}
$Content = ;
while ($str = @fread($fp, 4096))
$Content .= $str;
@fclose($fp);
//$Content=preg_replace("~(?:r)?n~s","",$Content);
return $Content;
}
php操作ftp上传文件
Google 个性化主页类似,如何保存最后的布局二
Google 个性化主页类似,如何保存最后的布局二
提高MySQL数据库查询效率的几个技巧[php程序员必看]
MySQL由于它本身的小巧和操作的高效, 在数据库应用中越来越多的被采用.我在开发一个P2P应用的时候曾经使用MySQL来保存P2P节点,由于P2P的应用中,结点数动辄上万个,而且节点变化频繁,因此一定要保持查询和插入的高效.以下是我在使用过程中做的提高效率的三个有效的尝试.
Google 个性化主页类似,如何保存最后的布局
Google 个性化主页类似,如何保存最后的布局一
php文件下载代码
$f_id =isset($_GET[id])?$_GET[id]:;
$t_id =isset($_GET[tid])?$_GET[tid]:;
$t_na =($t_id==1)?"su_photo":"su_video";
if($t_id==1){
$t_na=su_photo;
}else if($t_id==2){
$t_na=su_video;
}else{
$t_na=su_cert;
}
$sql ="select * from $t_na where id=$f_id and uid=".$_SESSION[xm]." ";
$result =mysql_query($sql) or exit("system busy...");
if(!mysql_num_rows($result)){exit("
alert(记录不存在!);history.back();
");}
$rs =mysql_fetch_object($result);
$file_name=substr($rs->path,strrpos($rs->path,"/")+1);
$file_dir =substr($rs->path,0,strlen($rs->path)-strlen($file_name));
$file_dir=realpath(str_replace(../,,$file_dir))."";
$rpath=$file_dir.$file_name;
if (!file_exists($rpath)) { //检查文件是否存在
exit("
alert(文件找不到!);history.back();
");
} else {
$tent=substr($rpath,strrpos($rpath,".")+1);
$file = fopen($rpath,"r"); // 打开文件
Header("Content-type: ".headertype($tent)."");
Header("Accept-Ranges: bytes");
Header("Accept-Length: ".filesize($file_dir . $file_name));
Header("Content-Disposition: attachment; filename=" . $file_name);
echo fread($file,filesize($file_dir . $file_name));
fclose($file);
exit("
alert(下载完毕!);history.back();
");
}
function headertype($type){
switch($type){
case gif:
return image/gif;
break;
case jpg:
return image/pjpeg;
break;
case bmp:
return image/bmp;
break;
case png:
return image/x-png;
break;
case txt:
return application/octet-stream;
break;
case zip:
return application/x-zip-compressed;
break;
case rar:
return application/x-rar-compressed;
break;
case doc:
return application/msword;
break;
case swf:
return application/x-shockwave-flash;
break;
case wma:
return audio/x-ms-wma;
break;
case rm:
return "application/vnd.rn-realmedia";
break;
case mp3:
return "audio/mp3";
break;
default:
return text/plain;
}
}
?>