php并且
php是采用二进制形式存储图片及读取显示的,首先通过代码创建数据表,然后上传图片服务器再通过浏览器显示,具体编程代码举例:
1、首先需要创建数据表,具体代码如下图所示。
‘贰’ PHP在数据库中查询并且显示图片
一般不向数据库插入图片 而是插入图片的src 通过src找到图片然后显示。
<?php
session_start();
//array数组中放图片的格式
$uptypes = array("image/jpg","image/jpeg","image/png","image/pjpeg","image/gif","image/bmp","image/x-png");
$files =$_FILES["uppic"];
if($files["size"]>2097152){ //图片大小判断
echo "上传图片不能大于2M";
echo "<meta http-equiv='REFRESH' CONTENT='1;URL=pic.php'>";
exit;
}
$ftype =$files["type"];
if(!in_array($ftype,$uptypes)){ //图片格式判断
echo "上传的图片文件格式不正确";
echo "<meta http-equiv='REFRESH' CONTENT='1;URL=pic.php'>";
}
$fname = $files["tmp_name"]; //在服务器临时存储名称
$image_info = getimagesize($fname);
$name = $files["name"];
$str_name = pathinfo($name); //以数组的形式返回文件路劲的信息
$extname = strtolower($str_name["extension"]); //把字符串改为小写 extensiorn扩展名
$upload_dir = "upload/"; //upload文件夹
$file_name = date("YmdHis").rand(1000,9999).".".$extname;
$str_file = $upload_dir.$file_name; //文件目录
//存入数据库
$con=mysql_connect("localhost","root","");
if(!$con){
die(("数据库连接失败").mysql_error());
}
mysql_select_db("mywork",$con);
$sql="update user set picpath='$str_file' where user_name='$username'"; //将图片地址插入数据库mywork
mysql_query($sql,$con);
mysql_close($con);
if(!file_exists($upload_dir)){
mkdir($upload_dir); //创建目录 成功则返回true 失败则返回flase
}
if(!move_uploaded_file($files["tmp_name"],$str_file)){ //将上传的文件移动到新的目录 要移动文件和文件新目录 成功则返回true
echo "图片上传失败";
echo "<meta http-equiv='REFRESH' CONTENT='1;URL=插入失败后希望跳转的页面>";
}
else{
//echo "<img src=".$str_file.">";
echo "图片上传成功";
echo "<meta http-equiv='REFRESH' CONTENT='1;URL=插入成功希望挑战的页面>";
}
‘叁’ 一台服务器是否可以发布多个php并且共用80端口,切外网可访问
使用PHPstudy进行创建多个站点并绑定域名
默认情况下,phpStudy的站点根目录是在它自己的WWW目录,比如 F:phpStudyWWW,访问的地址可以是http://127.0.0.1/ 或http://localhost/
打开 phpStudy ,在“其他选项”那里点击“站点域名设置”
‘肆’ php中&&与&有什么区别
PHP中&&与&的区别:
1、运算符性质的区别
&&在PHP中是一个逻辑操作符,也叫条件操作符。
&是逻辑语言,逻辑上表示两者属于缺一不可的关系,还可以表示一个人和另外一个人之意,与and同义。如A&B,表示A与B,A和B,A×B。
2、作用上的区别
&&就是判断两个表达式的真假性,只有两个表达式同时为真才为真,有一个为假则为假,具有短路性质。
&是将两个二进制的数逐位相与,结果是相与之后的结果。
3、用途上的区别
&&:x&&y——功能描述: “条件与”:x和y均为true,取值是true,否则取值是false。&&需要两个操作数的值都是true时,才取值true,但是两个操作符还是有区别的:使用方法是int&& rx=x。
&:是一个位运算符。参加运算的两个数的二进制形式,每一个二进制位进行”与“运算,最后的结果二进制作为结果,例如:3 & 5=1,因为3和5的二进制分别是0011、0101,两个进行与运算的结果是0001。
‘伍’ php生成PDF格式文件并且加密
本文给大家介绍的是如何使用php生成pdf文件,并且把该文件加密或设置访问密码的方法,有需要的小伙伴可以参考下。
项目需求:php生成pdf文件,并且把该文件加密或设置访问密码
开源的TCPDF是基于PHP的一套类库,它能够很好的生成PDF格式的文档。并且支持文件加密,在目前的开源PHP框架、系统、应用中也使用得很广。这里是设置PDF文档的相关属性的方法原型,其中就可以设置密码
?
1
2
3
4
5
6
7
8
TCPDF::SetProtection
(
$permissions
=
array('print',
'modify',
'',
'annot-forms',
'fill-forms',
'extract',
'assemble',
'print-high'),
$user_pass
=
'',
$owner_pass
=
null,
$mode
=
0,
$pubkeys
=
null
)
通过SetProtection()方法设置后,生成的PDF文档就是加密过的,在用户打开PDF文档的时候就会要求输入访问密码
‘陆’ php显示当前时间 并且随时变化
php的几种获取当前时间的函数
方法一date函数
echo date(‘y-m-d h:i:s’,time());
//2010-08-29 11:25:26
方法二 time函数
$time = time();
echo date("y-m-d",$time) //2010-08-29
方法三 $_server['server_time']
方法四 strftime
echo strftime ("%hh%m %a %d %b" ,time());
18h24 sunday 21 may
还有一个问题就是时区问题,php环境默认时差与北京时间相差8小时,我们要想获取正确的时间就必须设置
在php文件开始处 加上date_default_timezone_set('prc');
或在php.ini里面 date.timezone=prc;嗾。
记得修改了php.ini要重起apache
‘柒’ 用php做这种上传文件页面并且在页面中能显示已经上传的文件该怎么做
1 上传文件的前端页面
<form enctype="multipart/form-data" action="服务器地址" method="post">
<input type="file" name="file"/>
</form>
2 PHP端用$_FILES取出前端上次的文件,用move_uploaded_file把上传的文件从临时目录移动到你服务器的文件目录下
3 用scandir扫描你的文件目录,用is_file过滤文件,你页面上的文件大小,可以通过filesize获取,上传时间就是创建时间用filemtime
4 发起删除用unlink删除 发起下载就读取文件然后修改header返回即可
‘捌’ php生成三个数字并且任意两个不重复
<?php
$arr=array(1,2,3,4,5,6,7,8);
$str="";
for($i=0;$i<3;$i++){
$index=rand(0,count($arr)-1);
while(!isset($arr[$index])){
$index=rand(0,count($arr)-1);
}
$str.=$arr[$index];
unset($arr[$index]);
}
echo$str;
?>
//如果不是这个意思再补充提问,我继续帮你弄
‘玖’ php里判断条件中“并且”的代码是什么
if($sex=='男' && $age<60){ $xxx='1'; } 上面这样就行了,用and或&&都一样,不过多数都用&&
‘拾’ PHP,如何表单保存到数据库并且显示
首先可以采用的是Jquery的Ajax技术进行操作。
思路是这样的,首先现在前端判断JS并提交给后台,代码如下:
$(function(){
$.ajax({
type:post,
dataType:json,
url:save.php,
data:$("input[name=x]").val(),
success:function(data){
}
});
});
这样后端接收到Ajax请求后进行连接数据库并且插入数据
其它操作类似进行操作即可。