php 图片上传并生成缩略图代码

 if($_FILES['image']['size']){
     if($_FILES['image']['type'] == "image/pjpeg"){
      $im = @imagecreatefromjpeg($_FILES['image']['tmp_name']);
      $n_bmp.='.jpg';
     }elseif($_FILES['image']['type'] == "image/x-png"){
      $im = @imagecreatefrompng($_FILES['image']['tmp_name']);
      $n_bmp.='.png';
     }elseif($_FILES['image']['type'] == "image/gif"){
      $im = @imagecreatefromgif($_FILES['image']['tmp_name']);
      $n_bmp.='.gif';
     }  
    ResizeImage($im,8888,8888,$n_bmp);    
       ImageDestroy ($im);
    $n_tag =1;
      
   }
    
function Uploadfile($str){
   
   $save_path = './product/';//文件保存目录路径
   
   $ext_arr   = array('rar','zip','jpg','gif','png','bmp');//定义允许上传的文件扩展名
   
   $max_size  = 1000000;//最大文件大小
   
   $file_rand ='';
   
   $file_ext  ='';
   
   @mkdir($save_path, 0777); //更改目录权限    
   
   if ($_FILES[$str]['name']) {//有上传文件时
    
    $file_name = $_FILES[$str]['name'];//原文件名
    
    $tmp_name = $_FILES[$str]['tmp_name'];//服务器上临时文件名
    
    $file_size = $_FILES[$str]['size'];//文件大小
    
    if (@is_dir($save_path) === false) {//检查目录
     alert("上传目录不存在。",'');
    }
    
    if (@is_writable($save_path) === false) {//检查目录写权限
     alert("上传目录没有写权限。",'');
    }
    
    if (@is_uploaded_file($tmp_name) === false) {//检查是否已上传
     alert("临时文件可能不是上传文件。",'');
    }
    
    if ($file_size > $max_size) {//检查文件大小
     alert("上传文件大小超过限制。",'');
    }
    
    $temp_arr = explode(".", $file_name);//获得文件扩展名
    $file_ext = array_pop($temp_arr);
    $file_ext = trim($file_ext);
    $file_ext = strtolower($file_ext);
    $file_rand= md5(date("Y-m-d"));
    if (in_array($file_ext, $ext_arr) === false) {//检查扩展名
     alert("上传文件扩展名是不允许的扩展名。",'');
    }
    
    if (move_uploaded_file($tmp_name, $save_path.$file_rand.'.'.$file_ext) === false) {//移动文件
     alert("上传文件失败。",'');
    }    
   } 
  return $save_path.$file_rand.'.'.$file_ext;
 }
 
 
 function ResizeImage($im,$maxwidth,$maxheight,$name){
   $width = imagesx($im);
   $height = imagesy($im);
  if(($maxwidth && $width > $maxwidth) || ($maxheight && $height > $maxheight)){
   if($maxwidth && $width > $maxwidth){
   $widthratio = $maxwidth/$width;
   $RESIZEWIDTH=true;
   }
   if($maxheight && $height > $maxheight){
   $heightratio = $maxheight/$height;
   $RESIZEHEIGHT=true;
   }
  if($RESIZEWIDTH && $RESIZEHEIGHT){
  if($widthratio < $heightratio){
   $ratio = $widthratio;
   }else{
   $ratio = $heightratio;
   }
  }elseif($RESIZEWIDTH){
   $ratio = $widthratio;
  }elseif($RESIZEHEIGHT){
   $ratio = $heightratio;
  }
  $newwidth = $width * $ratio;
  $newheight = $height * $ratio;
  if(function_exists("imagecopyresampled")){
  $newim = imagecreatetruecolor($newwidth, $newheight);
  imagecopyresampled($newim, $im, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
  }else{
  $newim = imagecreate($newwidth, $newheight);
  imagecopyresized($newim, $im, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
  }
  ImageJpeg ($newim,'./product_e/'.$name);
  ImageDestroy ($newim);
  }else{
  ImageJpeg ($im,'./product_e/'.$name);
  }
  }

时间: 2024-12-25 20:19:15

php 图片上传并生成缩略图代码的相关文章

jquery+php+ajax显示上传进度的多图片上传并生成缩略图代码_php技巧

本例用到其他2个php class.upload.php和 functions.php还有css和js以及img文件 完整实例代码点击此处本站下载. 效果图如下: 实现代码如下: JavaScript代码如下: 复制代码 代码如下: <script type="text/javascript">  $(document).ready(function() {      $("#filelist").niceScroll({          cursor

PHP图片上传并生成缩略图函数

自己写的 PHP图片上传并生成缩略图函数 请参考 函数分为三部分 一.PHP 图片上传函数 二.PHP 生成缩略图函数 三.PHP消息提示函数 //PHP 图片上传函数如下: function img_upload($form_name,$size,$dir,$file_name,$width,$height){  //文件域名称,文件大小限制,文件存放路径,缩略图宽度,缩略图高度  $file_type_arr=array("image/png"=>"png"

c#多图片上传并生成缩略图的实例代码_实用技巧

前台代码: 复制代码 代码如下:  <%@ Page Language="C#" AutoEventWireup="true" CodeFile="upload.aspx.cs" Inherits="upload" %>  <!DOCTYPE html>  <html xmlns="http://www.w3.org/1999/xhtml"> <head runat

php图片上传并生成缩略图效果

 代码如下 复制代码 function uploadimage($upname,$smallmark=1,$dstsw,$dstsh=0,$path_dim,$path_xim,$newname,$smallname=0,$filetype="null") {     global $webaddr,$_files,$my;     $phpv=str_replace('.', '', php_version);     $filename=$upname;     $max_file

利用ASPUPLOAD,ASPJPEG实现图片上传自动生成缩略图及加上水印_应用技巧

今天在站长站看到一网友写的相册程序,功能挺简单的,看到他用了ASPJPEG生成缩略图,不由想起再用上ASPUPLOAD上传,于是花了一个小时时间完善了他的代码. 以下代码均加有简单的注释,如果你看不懂,请先看ASPJPEG以及ASPUPLOAD的说明文档(E文,希望有心理准备),看不懂的可以问我. 以下是代码:  复制代码 代码如下: <%  if session("admin")<>"on" then  Response.Redirect&quo

AJAX实现图片预览与上传及生成缩略图的方法

要实现功能,上传图片时可以预览,因还有别的文字,所以并不只上传图片,实现与别的文字一起保存,当然上来先上传图片,然后把路径和别的文字一起写入数据库:同时为 图片生成缩略图,现只写上传图片方法,文字在ajax里直接传参数就可以了,若要上传多图,修改一下就可以了. 借鉴了网上资料,自己写了一下,并不需要再新加页面,只在一个页面里就OK啦. JS代码: //ajax保存数据,后台方法里实现此方法 function SaveData() { filename = document.getElementB

c#web控件FileUpload图片上传(并生成小图)

本教程是利用asp教程.net c#让web控件fileupload选择完文件之后就自动触发事件,并且image控件显示出图片来 <%@ page language="c#" contenttype="text/html" responseencoding="gb2312" %> <!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" &q

Android中使用七牛云存储进行图片上传下载的实例代码

Android开发中的图片存储本来就是比较耗时耗地的事情,而使用第三方的七牛云,便可以很好的解决这些后顾之忧,最近我也是在学习七牛的SDK,将使用过程在这记录下来,方便以后使用. 先说一下七牛云的存储原理,上面这幅图片是官方给出的原理图,表述当然比较清晰了. 可以看出,要进行图片上传的话可以分为五大步: 1. 客户端用户登录到APP的账号系统里面: 2. 客户端上传文件之前,需要向业务服务器申请七牛的上传凭证,这个凭证由业务服务器使用七牛提供的服务端SDK生成: 3. 客户端使用七牛提供的客户端

PHP上传、生成缩略图、生成文字水印和图片水印

<?php/* '-##########################################-| '|     程序设计:(绿竹居)                | '|     MSN:[email]lzj_zhangjun@hotmail.com[/email]         | '|     Email:cszjun@gmail.com              | '|     结合自己以前做的上传和生成缩略和改编一个 '|     老前辈的生成图片水印做成这个