61阅读

php实现购物车功能-php实现文件预览功能

发布时间:2018-01-01 所属栏目:网络编程

一 : php实现文件预览功能

上一篇博客是上传功能,本篇是上传后图片预览和更改:

代码如下:

1.yulan.php

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> <style type="text/css"> #yl{ width:200px; height:300px; background-image:url(images/timg1.jpg); background-size:200px 300px;} #file{ width:200px; height:300px; float:left; opacity:0;} </style> </head> <body> <form id="sc" action="ylchuli.php" method="post" enctype="multipart/form-data" target="shangchuan">  <input type="hidden" name="tp" value="" id="tp" />  <div id="yl">  <input type="file" name="file" id="file" onchange="document.getElementById('sc').submit()" />  </div>  </form> <iframe style="display:none" name="shangchuan" id="shangchuan"> </iframe> </body> <script type="text/javascript"> //回调函数,调用该方法传一个文件路径,改变背景图 function showimg(url) {  var div = document.getElementById("yl");  div.style.backgroundImage = "url("+url+")";  document.getElementById("tp").value = url; } </script> </html> 

2.ylchuli.php

 <?php if($_FILES["file"]["error"]) {  echo $_FILES["file"]["error"]; } else {  if(($_FILES["file"]["type"]=="image/jpeg" || $_FILES["file"]["type"]=="image/png")&& $_FILES["file"]["size"]<1024000)  {  $fname = "./images/".date("YmdHis").$_FILES["file"]["name"]; $filename = iconv("UTF-8","gb2312",$fname);  if(file_exists($filename))  {  echo "<script>alert('该文件已存在!');</script>";  }  else  {  move_uploaded_file($_FILES["file"]["tmp_name"],$filename);  $delurl = iconv("UTF-8","gb2312",$_POST["tp"]);  unlink($delurl); //删除文件  echo "<script>parent.showimg('{$fname}');</script>";  }  } } 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持61阅读。

二 : php实现36进制与10进制转换功能示例

本文实例讲述了php实现36进制与10进制转换功能。分享给大家供大家参考,具体如下:

 /**  * @desc im:十进制数转换成三十六机制数  * @param (int)$num 十进制数  * return 返回:三十六进制数 */ function get_char($num) {  $num = intval($num);  if ($num <= 0)  return false;  $charArr = array("0","1","2","3","4","5","6","7","8","9",'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z');  $char = '';  do {  $key = ($num - 1) % 36;  $char= $charArr[$key] . $char;  $num = floor(($num - $key) / 36);  } while ($num > 0);  return $char; } /**  * @desc im:三十六进制数转换成十机制数  * @param (string)$char 三十六进制数  * return 返回:十进制数  */ function get_num($char){  $array=array("0","1","2","3","4","5","6","7","8","9","A", "B", "C", "D","E", "F", "G", "H", "I", "J", "K", "L","M", "N", "O","P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y","Z");  $len=strlen($char);  for($i=0;$i<$len;$i++){  $index=array_search($char[$i],$array);  $sum+=($index+1)*pow(36,$len-$i-1);  }  return $sum; } 

使用实例:

 echo "get_char:".get_char(514549)."<br>"; echo "get_num:".get_num('A0ZZ')."<br>";

PS:这里再为大家推荐几款计算与转换工具供大家参考使用:

在线任意进制转换工具:
http://tools.61k.com/transcoding/hexconvert

科学计算器在线使用_高级计算器在线计算:
http://tools.61k.com/jisuanqi/jsqkexue

在线计算器_标准计算器:
http://tools.61k.com/jisuanqi/jsq

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php日期与时间用法总结》、《PHP数学运算技巧总结》、《PHP数组(Array)操作技巧大全》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《php正则表达式用法总结》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

三 : PHP实现二维数组去重功能示例

本文实例讲述了PHP实现二维数组去重功能。分享给大家供大家参考,具体如下:

php中二维数组去重操作。例如从数据库中查询出的记录,根据某个键做去重操操作

代码如下:

 /**  * 删除二维数组中相同项的数据,(一般用于数据库查询结果中相同记录的去重操作)  *  * @param array $_2d_array 二维数组,类似:  * $tmpArr = array(  * array('id' => 1, 'value' => '15046f5de5bb708e'),  * array('id' => 1, 'value' => '15046f5de5bb708e'),  * );  * @param string $unique_key 表示上述数组的 "id" 键,或者 "value" 键  *  * @return mixed  */ function unique_2d_array_by_key($_2d_array, $unique_key) {  $tmp_key[] = array();  foreach ($_2d_array as $key => &$item) {  if ( is_array($item) && isset($item[$unique_key]) ) {  if ( in_array($item[$unique_key], $tmp_key) ) {  unset($_2d_array[$key]);  } else {  $tmp_key[] = $item[$unique_key];  }  }  }  return $_2d_array; } //使用示例: $tmpArr = array(  array('id' => 1, 'value' => '15046f5de5bb708e'),  array('id' => 1, 'value' => '15046f5de5bb708e'), ); print_r(@unique_2d_array_by_key($tmpArr,id)); 

运行结果:

 Array ( [0] => Array ( [id] => 1 [value] => 15046f5de5bb708e ) ) 

原理:将需要去重的第二维数组中的键保存起来,遍历对比下一组数据,如遇键值相同则删除。

PS:本站还有一款比较简单实用的在线文本去重复工具,推荐给大家使用:

在线文本去重复工具:
http://tools.61k.com/aideddesign/txt_quchong

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数组(Array)操作技巧大全》、《PHP常用遍历算法与技巧总结》、《php字符串(string)用法总结》、《php常用函数与技巧总结》、《PHP错误与异常处理方法总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

四 : Twitter测试“现在购买”按钮:或推购物功能

Twitter测试“现在购买”按钮

Twitter测试“现在购买”按钮

新浪科技讯 北京时间7月1日上午消息,据美国科技博客Re/code报道,Twitter已经在移动应用中部署了“现在购买”(Buy Now)按钮,表明该公司有可能会尽快推出购物功能。

虽然“现在购买”按钮只出现在Twitter移动应用中,而且点击后没有任何反应,但之前有用户表示,周一早些时候点击该按钮后会跳转到Twitter应用内部的一个结算页面。

Re/code此次发现的这个按钮所在的消息,来自一款名叫Fancy的购物应用。Re/code今年1月曾经发现,Fancy测试了一项目Twitter购物功能,表明Twitter有可能整合电子商务业务。但该公司至今仍未在消息中整合购物功能。

Twitter和Fancy均未对此置评。

但业内人士表示,倘若没有Twitter的许可,Fancy很难在Twitter消息中包含“现在购买”按钮。因此,Twitter很有可能即将推出消息内购物功能。

Twitter今年5月也与亚马逊达成过一项协议,允许亚马逊用户通过Twitter消息将产品添加到自己的购物车内。但当时的那项功能并不允许用户直接在Twitter上完成支付。(书聿)

五 : 轻松实现php文件上传功能

PHP 文件上传

通过 PHP,可以把文件上传到服务器。

本章节实例在 test 项目下完成,目录结构为:

test
|-----upload             # 文件上传的目录
|-----form.html          # 表单文件
|-----upload_file.php    # php 上传代码

源码下载:文件上传

创建一个文件上传表单
允许用户从表单上传文件是非常有用的。
请看下面这个供上传文件的 HTML 表单:

 <html> <head> <meta charset="utf-8"> <title>菜鸟教程(runoob.com)</title> </head> <body> <form action="upload_file.php" method="post" enctype="multipart/form-data">  <label for="file">文件名:</label>  <input type="file" name="file" id="file"><br>  <input type="submit" name="submit" value="提交"> </form> </body> </html> 

将以上代码保存到 form.html 文件中。
有关上面的 HTML 表单的一些注意项列举如下:

1.<form> 标签的 enctype 属性规定了在提交表单时要使用哪种内容类型。在表单需要二进制数据时,比如文件内容,请使用 "multipart/form-data"。
2.<input> 标签的 type="file" 属性规定了应该把输入作为文件来处理。举例来说,当在浏览器中预览时,会看到输入框旁边有一个浏览按钮。
注释:允许用户上传文件是一个巨大的安全风险。请仅仅允许可信的用户执行文件上传操作。

创建上传脚本
"upload_file.php" 文件含有供上传文件的代码:

 <?php if ($_FILES["file"]["error"] > 0) {  echo "错误:" . $_FILES["file"]["error"] . "<br>"; } else {  echo "上传文件名: " . $_FILES["file"]["name"] . "<br>";  echo "文件类型: " . $_FILES["file"]["type"] . "<br>";  echo "文件大小: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";  echo "文件临时存储的位置: " . $_FILES["file"]["tmp_name"]; } ?> 

通过使用 PHP 的全局数组 $_FILES,你可以从客户计算机向远程服务器上传文件。
第一个参数是表单的 input name,第二个下标可以是 "name"、"type"、"size"、"tmp_name" 或 "error"。如下所示:
$_FILES["file"]["name"] - 上传文件的名称
$_FILES["file"]["type"] - 上传文件的类型
$_FILES["file"]["size"] - 上传文件的大小,以字节计
$_FILES["file"]["tmp_name"] - 存储在服务器的文件的临时副本的名称
$_FILES["file"]["error"] - 由文件上传导致的错误代码

这是一种非常简单文件上传方式。基于安全方面的考虑,您应当增加有关允许哪些用户上传文件的限制。

上传限制
在这个脚本中,我们增加了对文件上传的限制。用户只能上传 .gif、.jpeg、.jpg、.png 文件,文件大小必须小于 200 kB:

 <?php // 允许上传的图片后缀 $allowedExts = array("gif", "jpeg", "jpg", "png"); $temp = explode(".", $_FILES["file"]["name"]); $extension = end($temp); // 获取文件后缀名 if ((($_FILES["file"]["type"] == "image/gif") || ($_FILES["file"]["type"] == "image/jpeg") || ($_FILES["file"]["type"] == "image/jpg") || ($_FILES["file"]["type"] == "image/pjpeg") || ($_FILES["file"]["type"] == "image/x-png") || ($_FILES["file"]["type"] == "image/png")) && ($_FILES["file"]["size"] < 204800) // 小于 200 kb && in_array($extension, $allowedExts)) {  if ($_FILES["file"]["error"] > 0)  {  echo "错误:: " . $_FILES["file"]["error"] . "<br>";  }  else  {  echo "上传文件名: " . $_FILES["file"]["name"] . "<br>";  echo "文件类型: " . $_FILES["file"]["type"] . "<br>";  echo "文件大小: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";  echo "文件临时存储的位置: " . $_FILES["file"]["tmp_name"];  } } else {  echo "非法的文件格式"; } ?> 

保存被上传的文件
上面的实例在服务器的 PHP 临时文件夹中创建了一个被上传文件的临时副本。
这个临时的副本文件会在脚本结束时消失。要保存被上传的文件,我们需要把它拷贝到另外的位置:

 <?php // 允许上传的图片后缀 $allowedExts = array("gif", "jpeg", "jpg", "png"); $temp = explode(".", $_FILES["file"]["name"]); echo $_FILES["file"]["size"]; $extension = end($temp); // 获取文件后缀名 if ((($_FILES["file"]["type"] == "image/gif") || ($_FILES["file"]["type"] == "image/jpeg") || ($_FILES["file"]["type"] == "image/jpg") || ($_FILES["file"]["type"] == "image/pjpeg") || ($_FILES["file"]["type"] == "image/x-png") || ($_FILES["file"]["type"] == "image/png")) && ($_FILES["file"]["size"] < 204800) // 小于 200 kb && in_array($extension, $allowedExts)) {  if ($_FILES["file"]["error"] > 0)  {  echo "错误:: " . $_FILES["file"]["error"] . "<br>";  }  else  {  echo "上传文件名: " . $_FILES["file"]["name"] . "<br>";  echo "文件类型: " . $_FILES["file"]["type"] . "<br>";  echo "文件大小: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";  echo "文件临时存储的位置: " . $_FILES["file"]["tmp_name"] . "<br>";  // 判断当期目录下的 upload 目录是否存在该文件  // 如果没有 upload 目录,你需要创建它,upload 目录权限为 777  if (file_exists("upload/" . $_FILES["file"]["name"]))  {  echo $_FILES["file"]["name"] . " 文件已经存在。 ";  }  else  {  // 如果 upload 目录不存在该文件则将文件上传到 upload 目录下  move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]);  echo "文件存储在: " . "upload/" . $_FILES["file"]["name"];  }  } } else {  echo "非法的文件格式"; } ?> 

上面的脚本检测了文件是否已存在,如果不存在,则把文件拷贝到名为 "upload" 的目录下。
文件上传演示操作如下所示:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持61阅读。

本文标题:php实现购物车功能-php实现文件预览功能
本文地址: http://www.61k.com/1148579.html

61阅读| 精彩专题| 最新文章| 热门文章| 苏ICP备13036349号-1