图片上添加描边字和马赛克php代码

 更新时间:2016年11月25日 16:27  点击:1546

<?php教程
/**
 * gd image mask
 *
 * @copyright ugia.cn

 */
function imagemask(&$im, $x1, $y1, $x2, $y2, $deep)
{
    for($x = $x1; $x < $x2; $x += $deep)
    {
        for ($y = $y1; $y < $y2; $y += $deep)
        {
            $color = imagecolorat ($im, $x + round($deep / 2), $y + round($deep / 2));
            imagefilledrectangle ($im, $x, $y, $x + $deep, $y + $deep, $color);
        }
    }
}
?>


  示例:
<?php
header("content-type: image/png");
$im = imagecreatefromjpeg("test.jpg");
imagemask($im, 57, 22, 103, 40, 8);
imagepng($im);
imagedestroy($im);
?>

 


<?php
/**
 * gd image text outer
 *
 * @copyright ugia.cn

 */
function imagetextouter(&$im, $size, $x, $y, $color, $fontfile, $text, $outer)
{
    if (!function_exists('imagecolorallocatehex'))
    {
        function imagecolorallocatehex($im, $s)
        {
           if($s{0} == "#") $s = substr($s,1);
           $bg_dec = hexdec($s);
           return imagecolorallocate($im,
                       ($bg_dec & 0xff0000) >> 16,
                       ($bg_dec & 0x00ff00) >>  8,
                       ($bg_dec & 0x0000ff)
                       );
        }
    }
    $ttf = false;
    if (is_file($fontfile))
    {
        $ttf = true;
        $area = imagettfbbox($size, $angle, $fontfile, $text);
        $width  = $area[2] - $area[0] + 2;
        $height = $area[1] - $area[5] + 2;
    }
    else
    {
        $width  = strlen($text) * 10;
        $height = 16;
    }
    $im_tmp = imagecreate($width, $height);
    $white = imagecolorallocate($im_tmp, 255, 255, 255);
    $black = imagecolorallocate($im_tmp, 0, 0, 0);
    $color = imagecolorallocatehex($im, $color);
    $outer = imagecolorallocatehex($im, $outer);
    if ($ttf)
    {
        imagettftext($im_tmp, $size, 0, 0, $height - 2, $black, $fontfile, $text);
        imagettftext($im, $size, 0, $x, $y, $color, $fontfile, $text);
        $y = $y - $height + 2;
    }
    else
    {
        imagestring($im_tmp, $size, 0, 0, $text, $black);
        imagestring($im, $size, $x, $y, $text, $color);
    }
    for ($i = 0; $i < $width; $i ++)
    {
        for ($j = 0; $j < $height; $j ++)
        {
            $c = imagecolorat($im_tmp, $i, $j);
            if ($c !== $white)
            {
                imagecolorat ($im_tmp, $i, $j - 1) != $white || imagesetpixel($im, $x + $i, $y + $j - 1, $outer);
                imagecolorat ($im_tmp, $i, $j + 1) != $white || imagesetpixel($im, $x + $i, $y + $j + 1, $outer);
                imagecolorat ($im_tmp, $i - 1, $j) != $white || imagesetpixel($im, $x + $i - 1, $y + $j, $outer);
                imagecolorat ($im_tmp, $i + 1, $j) != $white || imagesetpixel($im, $x + $i + 1, $y + $j, $outer);
                // 取消注释,与fireworks的发光效果相同
                /*
                imagecolorat ($im_tmp, $i - 1, $j - 1) != $white || imagesetpixel($im, $x + $i - 1, $y + $j - 1, $outer);
                imagecolorat ($im_tmp, $i + 1, $j - 1) != $white || imagesetpixel($im, $x + $i + 1, $y + $j - 1, $outer);
                imagecolorat ($im_tmp, $i - 1, $j + 1) != $white || imagesetpixel($im, $x + $i - 1, $y + $j + 1, $outer);
                imagecolorat ($im_tmp, $i + 1, $j + 1) != $white || imagesetpixel($im, $x + $i + 1, $y + $j + 1, $outer);
                */
            }
        }
    }
    imagedestroy($im_tmp);
}
?>


  示例:
<?php
header("content-type: image/png");
$im = imagecreatefromjpeg("bluesky.jpg");
$white = imagecolorallocate($im, 255,255,255);
imagetextouter($im, 9, 10, 20, '#000000', "simsun.ttc", '新年快乐', '#ffffff');
imagetextouter($im, 2, 10, 30, '#ffff00', "", 'hello, world!' , '#103993');
imagepng($im);
imagedestroy($im);
?>


  马赛克:void imagemask ( resource image, int x1, int y1, int x2, int y2, int deep)

  imagemask() 把坐标 x1,y1 到 x2,y2(图像左上角为 0, 0)的矩形区域加上马赛克。

  deep为模糊程度,数字越大越模糊。
描边:void imagetextouter ( resource image, int size, int x, int y, string color, string fontfile, string text, string outercolor)

  imagetextouter() 将字符串 text 画到 image 所代表的图像上,从坐标 x,y(左上角为 0, 0)开始,颜色为 color,边框所使用的颜色为 outercolor,使用 fontfile 所指定的 truetype 字体文件。

  如果不指定字体文件,则使用gd的内部字体。根据 php 所使用的 gd 库的不同,如果 fontfile 没有以 ‘/’开头,则 ‘.ttf’ 将被加到文件名之后并且会搜索库定义字体路径。

  如果指定了字体文件,由 x,y 所表示的坐标定义了第一个字符的基本点(大概是字符的左下角)。否则 x,y 定义了第一个字符的右上角。

  fontfile 是想要使用的 truetype 字体的文件名。

  text 是文本字符串,可以包含 utf-8 字符序列(形式为:{)来访问字体中超过前 255 个的字符。

  color 是十六进制的#rrggbb格式的颜色,如#ff0000为红色。

  outercolor 描边颜色,十六进制的#rrggbb格式。

提供一款超完美的php文件在线压缩程序,原理很简单就是把文件以二进制形式保存了,以前用过利用rar的内核程序,这是php自带的压缩功能。
 代码如下 复制代码

set_time_limit(0);
class phpzip{

    var $file_count = 0 ;
    var $datastr_len   = 0;
    var $dirstr_len = 0;
    var $filedata = ''; //该变量只被类外部程序访问
    var $gzfilename;
    var $fp;
    var $dirstr='';

    /*
    返回文件的修改时间格式.
    只为本类内部函数调用.
    */
    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;
        }

        return (($timearray['year'] - 1980) << 25) | ($timearray['mon'] << 21) | ($timearray['mday'] << 16) |
               ($timearray['hours'] << 11) | ($timearray['minutes'] << 5) | ($timearray['seconds'] >> 1);
    }
    /*
    初始化文件,建立文件目录,
    并返回文件的写入权限.
    */
    function startfile($path = 'faisun.zip'){
       $this->gzfilename=$path;
       $mypathdir=array();
       do{
        $mypathdir[] = $path = dirname($path);
       }while($path != '.');
       @end($mypathdir);
       do{
        $path = @current($mypathdir);
        @mkdir($path);
       }while(@prev($mypathdir));

       if($this->fp=@fopen($this->gzfilename,"w")){
        return true;
       }
       return false;
    }
    /*
    添加一个文件到 zip 压缩包中.
    */
   

 

这款国外的php图片上传代码是一款好的文件与图片上传代码,并且还支持文件在线管理哦,是一款比较的好图片管理系统哦。

 代码如下 复制代码

 define('max', 2);
 
 mysql教程_connect('localhost', 'your mysql username', 'your mysql password');
 mysql_select_db('your mysql database');
 
 switch ($_post['action']) {
  case 'upload':
  
   $file = $_files['file']['tmp_name'];
   $filename = $_files['file']['name'];
   
   if($file) {
   
    $max = max * 1024 * 1024;
    $q = mysql_query("select * from `uploads` order by `batch` desc limit 1");
    $r = mysql_fetch_assoc($q);
    $batch = $r['batch'];
    
    if($filename == 'upload.zip') {
    
     $zip = zip_open($file);

     if ($zip) {
     
      while ($zip_entry = zip_read($zip)) {
       
       $size = zip_entry_filesize($zip_entry);
       
       $name = zip_entry_name($zip_entry);
       
       $type = substr(strrchr($name, '.'), 1);
       
       if (zip_entry_open($zip, $zip_entry, "r")) {
       
        $content = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
        zip_entry_close($zip_entry);
         
       }
    
       if ($size > $max) {
       
        header('location: ./?error=4');
        exit;
        
       }
       
       $error = true;
       
       if ($type == 'gif' && $error) {
       
        $error = false;
        
       }
       
       if ($type == 'png' && $error) {
       
        $error = false;
        
       }
       
       if ($type == 'jpg' && $error) {
       
        $error = false;
        
       }
       
       if ($type == 'jpeg' && $error) {
       
        $error = false;
        
       }
       
       if ($error) {
       
        header('location: ./?error=2');
        
       } else {
       
        $id = 1;
        $batch2 = $batch + 1;
        
        while (file_exists("uploads/$id/$name")) {
        
         $id++;
         
        }
        @mkdir("uploads/$id");
        
        $fp = @fopen("uploads/$id/$name", "w");
        
        if (@fwrite($fp, $content)) {
        
         $q = mysql_query("insert into `uploads` (`file`, `batch`) values ('uploads/$id/$name', '$batch2')");
         $id = mysql_insert_id();
         
        } else {
        
         header('location: ./?error=3');
         
        }
        
        fclose($fp);
        
       }
     
      }
      
      header('location: ./?batch=' . $batch2);
      
      zip_close($zip);
     
     }
    
    } else {
    
     if (filesize($file) > $max) {
     
      header('location: ./?error=4');
      exit;
      
     }
     
     $error = true;
     
     if (@imagecreatefromjpeg($file) && $error) {
     
      $error = false;
      
     }
     
     if (@imagecreatefromgif($file) && $error) {
     
      $error = false;
     }
     
     if (@imagecreatefrompng($file) && $error) {
     
      $error = false;
      
     }
     
     if ($error) {
     
      header('location: ./?error=2');
      
     } else {
     
      $id = 1;
      $batch = $batch + 1;
      
      while (file_exists("uploads/$id/$filename")) {
      
       $id++;
       
      }
      @mkdir("uploads/$id");
      
      if (@move_uploaded_file($file, "uploads/$id/$filename")) {
      
       $q = mysql_query("insert into `uploads` (`file`, `batch`) values ('uploads/$id/$filename', '$batch')");
       $id = mysql_insert_id();
       header('location: ./?image=' . $id);
       
      } else {
      
       header('location: ./?error=3');
       
      }
      
     }
    
    }
    
   } else {
   
    header('location: ./?error=1');
   
   }
   
   exit;
   
  break;
 }
 
 header('content-type: text/html; charset=iso-8859-1');
 ob_start('rewrite');
 function rewrite ($buffer) {
  $host = $_server['http_host'];
  $path = dirname($_server['php_self']);
  $absolute = "http://$host$path/";
  return preg_replace('#(href|src|action)="/#', "\1="$absolute", $buffer);
 }
 
?>
<!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>
  <title>jpegr - share photos instantly</title>
  <meta name="description" content="upload and share photos and images instantly, on jpegr.com" />
  <meta name="keywords" content="upload, upload images, share photos, photo sharing, image uploader" />
  <link href="/css教程/main.css" rel="stylesheet" />
  <script src="/mint/?js" type="text/网页特效"></script>
  <script src="/js/nb-object.js" type="text/javascript"></script>
 </head>
 <body>
  <h1><a href="http://jpeg.sn8.us/" title="goto jpegr home"><img src="/img/logo.gif" alt="jpegr" /></a></h1>
  <div id="menu">
   <form method="post" action="/" enctype="multipart/form-data" class="right">
    <input type="hidden" name="action" value="upload" />
    <label for="quick">quick upload</label>
    <input type="file" name="file" size="10" id="quick" />
    <input type="submit" value="upload" class="button" />
   </form>
   <a href="/">upload</a>
   <a href="/help/">help</a>
   <a href="/terms-of-service/">terms of service</a>
  </div>
  
<?php

 // recently uploaded query
 //$q = mysql_query('select * from `uploads` order by `id` desc limit 15');

 $q = mysql_query('select count(`id`) as `count` from `uploads`');
 $r = mysql_fetch_assoc($q);
 
?>
  <div id="main">
   <h2 class="right"><?php echo number_format($r['count']); ?> <strong>images hosted</strong></h2>
   
<?php

 if ($_get['p'] == 'help') {
 
?>
   <h2>help</h2>
   <div>
    <ul>
     <li>
      <strong>how do i upload an image?</strong><br />
      just use the quick upload form on the top, or goto the <a href="/">home page</a> to <a href="/">upload an image</a>.
     </li>
     <li>
      <strong>what does "you must select a file to upload!" mean?</strong><br />
      this means that you clicked <strong>upload</strong> without selecting an image file.
     </li>
     <li>
      <strong>what does "that is a not a valid jpeg, gif, or png image." mean?</strong><br />
      this means that you uploaded a file, but it was not a jpeg, gif, or png image.
     </li>
     <li>
      <strong>what does "there was a problem with the server, and we were unable to upload your image." mean?</strong><br />
      this means your file was accepted, but it did not get saved, you will need to <a href="/">try again</a>, or <a href="/">upload another image</a>.
     </li>
     <li>
      <strong>what does "the file you selected was too big, <em><?php echo max; ?>mb</em> is the maximum." mean?</strong><br />
      this means that you tried to upload a file that was too big.
     </li>
    </ul>
   </div>
<?php

 } elseif ($_get['p'] == 'terms-of-service') {
 
?>
   <h2>terms of service</h2>
   <div>
    <strong>when you upload to jpegr you agree to the following</strong>;
    <ul>
     <li>you will not use jpegr to upload pornographic content, any violation of this agreement may result in ban, and immediate removal of content.</li>
     <li>you will not abuse jpegr's upload form.</li>
     <li>any violation may result in permanent ban.</li>
    </ul>
   </div>
<?php

 } else {
 
  if (is_numeric($_get['image'])) {
  
   $q = mysql_query("select * from `uploads` where `id` = '$_get[image]'");
   $r = mysql_fetch_assoc($q);
   $root_ = 'http://' . $_server['http_host'] . dirname($_server['php_self']) . '/';
   
?>
   <h2>here is your image</h2>
   <div>
    <a href="/<?php echo $r['file']; ?>">click here to view your image</a><br /><br />
    <label for="direct">direct link to your image</label><br />
    <input type="text" id="direct" value="<?php echo $root_ . $r['file']; ?>" onfocus="this.select();" /><br />
    <label for="share" style="font-weight: bold;">share with your friends</label><br />
    <input type="text" id="share" value="<?php echo htmlspecialchars("$root_?image=$r[id]"); ?>" onfocus="this.select();" /><br />
    <label for="html">post link to myspace or website</label><br />
    <input type="text" id="html" value="<?php echo htmlspecialchars("<a href="$root_"><img src="$root_$r[file]" alt="visit jpegr" /></a>"); ?>" onfocus="this.select();" /><br />
    <label for="forum">post to a forum</label><br />
    <input type="text" id="forum" value="<?php echo htmlspecialchars("[url=$root_][img]$root_$r[file][/img][/url]"); ?>" onfocus="this.select();" /><br />
    if you want to <a href="/">upload another image</a>, you can go back or use the form below!<br /><br />
   </div>
<?php

  }
  
  if (is_numeric($_get['batch'])) {
  
   $q = mysql_query("select * from `uploads` where `batch` = '$_get[batch]'");
   
?>
   <h2>viewing batch #<?php echo ($_get['batch']) ? $_get['batch'] : 0; ?></h2>
   <div>
    to view an image in full size, just click it.<br /><br />
   
<?php

   while($r = mysql_fetch_assoc($q)) {

?>
    <a href="<?php echo $r['file']; ?>"><img src="<?php echo $r['file']; ?>" alt="image #<?php echo $r['id']; ?>" border="0" style="max-width: 75px;" /></a>
<?php

   }
   
?>
   <br /><br />
   
   <div id="slider">
    <h3>beta image slideshow</h3>
    <noscript>please turn on javascript to view our slideshows.</noscript>
    <div id="slide"></div>
   </div>
   
   <script type="text/javascript">
    
    <?php
     
     $qq = mysql_query("select * from `uploads` where `batch` = '$_get[batch]'");
     
     while($rr = mysql_fetch_assoc($qq)) {
 
    ?>
nb.slideshow.addimage('<?php echo $rr['file']; ?>');
    <?php
    
     }
       
    ?>
nb.slideshow.start();
    
   </script>
   
   </div>
   
   <h2>share this batch with your friends</h2>
   <div>
   
    <label for="share" style="font-weight: bold;">batch viewer</label><br />
    <input type="text" id="share" value="http://jpeg.sn8.us/?batch=<?php echo ($_get['batch']) ? $_get['batch'] : 0; ?>" onfocus="this.select();" /><br />
    if you want to <a href="/">upload another batch</a>, you can go back or use the form below!<br /><br />
   </div>
<?php

  }
 
?>
   <h2>upload an image or photo</h2>
   <form method="post" action="/" enctype="multipart/form-data">
    <input type="hidden" name="action" value="upload" />
<?php

  switch ($_get['error']) {
   case 1:
    $error = 'you must select a file to upload!<br />';
   break;
   case 2:
    $error = 'that is a not a valid jpeg, gif, or png image.<br />';
   break;
   case 3:
    $error = 'there was a problem with the server, and we were unable to upload your image.<br />';
   break;
   case 4:
    $error = 'the file you selected was too big, <strong>' . max . 'mb</strong> is the maximum.<br />';
   break;
  }
  
?>
    <font color="#ff0004"><?php echo $error; ?></font>
    you can upload a <strong>jpeg</strong>, <strong>gif</strong>, or <strong>png</strong> image. (max <strong><?php echo max; ?>mb</strong>)<br /><br />
    
    you can also upload a <strong>zip</strong> named <strong>upload.zip</strong>, containing multiple images.<br /><br />
    
    <label for="file">choose your file</label><br />
    <input type="file" name="file" size="40" id="file" /><br />
    <input type="submit" value="upload" class="button" />
   </form>
<?php

 }
 
?>
  </div>
  
  </div>
 </body>
</html>

??????
<?php
 mysql_connect('localhost', 'your mysql username', 'your mysql password');
 mysql_select_db('your mysql database');
 if ($_get['delete']) {
  $sql = "select * from `uploads` where `id` = '$_get[delete]'";
  $q = mysql_query($sql);
  $r = mysql_fetch_assoc($q);
  unlink($_server['document_root'] . '/' . $r['file']);
  $sql = "delete from `uploads` where `id` = '$_get[delete]'";
  $q = mysql_query($sql);
  header('location: ' . $_server['http_referer']);
  exit;
 }
?>
<!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=gb2312" />
  <title>jpegr administration</title>
  <style type="text/css">
   body {
    font-family: sans-serif;
    font-size: 12px;
    width: 800px;
    margin: 40px auto;
   }
   a {
    color: #105cb6;
    text-decoration: none;
   }
   a:hover {
    text-decoration: underline;
   }
   td {
    padding: 4px;
   }
   .head {
    font-weight: bold;
    color: #ffffff;
    background-color: #222222;
   }
   .item {
    background-color: #f2f2f2;
   }
   .one {
    width: 60px;
    text-align: center;
   }
   .three {
    width: 80px;
    text-align: center;
   }
   .page, .current {
    display: block;
    float: left;
    padding: 2px 4px;
    margin: 0px 4px 8px 0px;
   }
   .page {
    color: #000000;
    background-color: #eeeeee;
   }
   .current {
    font-weight: bold;
    color: #ffffff;
    background-color: #222222;
   }
  </style>
 </head>
 <body>
<?php
 $sql = 'select ceil(count(`id`) / 20) as `count` from `uploads`';
 $q = mysql_query($sql);
 $r = mysql_fetch_assoc($q);
 $pages = $r['count'];
 $offset = ($_get['page'] > 0 && $_get['page'] <= $pages) ? ($_get['page'] - 1) * 20 : 0;
 for ($i = 1; $i <= $pages; $i++) {
  $class = ($_get['page'] == $i || $i == 1 && !$_get['page']) ? ' class="current"' : ' class="page"';
?>
  <a href="?page=<?php echo $i; ?>"<?php echo $class; ?>><?php echo $i; ?></a>
<?php
 }
?>
  <br clear="all" />
  <table width="100%">
   <tr class="head">
    <td class="one">id</td>
    <td class="two">filename</td>
    <td class="three">action</td>
   </tr>
<?php
 $sql = "select * from `uploads` order by `id` desc limit $offset,20";
 $q = mysql_query($sql);
 while ($r = mysql_fetch_assoc($q)) {
?>
   <tr class="item">
    <td class="one"><?php echo number_format($r['id']); ?></td>
    <td class="two"><?php echo $r['file']; ?></td>
    <td class="three"><a href="/<?php echo $r['file']; ?>" target="_blank">view</a>, <a href="?delete=<?php echo $r['id']; ?>" onclick="return confirm('are you sure you want to delete &quot;<?php echo $r['file']; ?>&quot;?');">delete</a></td>
   </tr>
<?php
 }
?>
  </table>
 </body>
</html>

css??
html, body {
 font-family: sans-serif;
 font-size: 12px;
 width: 800px;
 margin: 40px auto;
}
a {
 color: #105cb6;
 text-decoration: none;
}
h1 {
 margin: 0px 0px 10px 0px;
}
h1 a {
 -moz-outline-width: 0px;
}
h1 a img {
 border: 0px;
}
h3 {
 margin: 4px;
}
a:hover {
 text-decoration: underline;
}
#menu {
 background-color: #e5f5ff;
 padding: 8px;
 border: 1px solid #0099ff;
 position: relative;
}
#menu a {
 font-weight: bold;
 margin: 0px 8px 0px 0px;
}
#menu a:hover {
 text-decoration: underline;
}
#menu .right {
 margin: 0px;
 padding: 0px;
 position: absolute;
 top: 4px;
 right: 4px;
}
#menu .input {
 background-color: #ffffff;
 padding: 2px;
 border: 1px solid #0066ff;
}
#menu .button {
 font-family: sans-serif;
 padding: 2px;
 cursor: pointer;
}
#menu label {
 cursor: pointer;
}
#ads {
 background-color: #fde5f3;
 margin: 8px 0px;
 border: 1px solid #ec008c;
}
#recent {
 background-color: #e6fec9;
 margin: 8px 0px;
 padding: 2px;
 border: 1px solid #9dca68;
}
#main {
 background-color: #fffee5;
 padding: 8px;
 border: 1px solid #fff200;
}
#main h2 {
 font-size: 16px;
 color: #222222;
 margin: 0px;
}
#main form {
 margin: 4px 8px;
}
#main label {
 cursor: pointer;
}
#main .button {
 font-family: sans-serif;
 margin: 2px 0px 0px 0px;
 padding: 2px;
 cursor: pointer;
}
#main .right {
 font-size: 14px;
 float: right;
 padding: 0px 0px 2px 0px;
 border-bottom: 1px solid #444444;
}
#main div {
 margin: 4px 8px;
}
#main div label {
 font-weight: bold;
}
#main div input {
 font-family: sans-serif;
 font-size: 12px;
 width: 680px;
 padding: 2px;
 margin: 2px 0px 4px 4px;
}
#main div li {
 margin-bottom: 8px;
}
#links {
 background-color: #e9e8e8;
 margin: 8px 0px 0px 0px;
 padding: 4px 0px;
 border: 1px solid #231f20;
}
.spacer {
 height: 4px;
 overflow: hidden;
}

#slider {
 color: #ffffff;
 background-color: #232323;
 height: 400px;
 margin: 10px;
 padding: 5px;
 border: 1px solid #121212;
}

#slider h3 {
 color: #ffffff;
 font-size: 14px;
 line-height: 20px;
 background-color: #343434;
 height: 20px;
 margin: -5px -5px 15px -5px;
 padding: 5px;
}

#slider #slide #image {
 max-height: 350px;
}

源码下载地址

http://down.111cn.net/php/2010/0927/20956.html

<!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" />

<style>
#container {
 margin: auto;
 width: 400px;
 border-top-width: 0px;
 border-right-width: 1px;
 border-bottom-width: 1px;
 border-left-width: 1px;
 border-top-style: solid;
 border-right-style: solid;
 border-bottom-style: solid;
 border-left-style: solid;
 border-top-color: #000033;
 border-right-color: #000033;
 border-bottom-color: #000033;
 border-left-color: #000033;
 background-color: #ffffff;
}
#container #header #header_left {
 float: left;
 background-image: url(images/header_left.gif);
 background-repeat: no-repeat;
 height: 42px;
 width: 45px;
}
#container #header #header_right {
 background-image: url(images/header_right.gif);
 background-repeat: no-repeat;
 height: 42px;
 width: 6px;
 float: right;
}
body {
 padding-top: 30px;
 background-color: #cccccc;
}
#container #content {
 padding: 5px;
 font-family: geneva, arial, helvetica, sans-serif;
 font-size: 12px;
 font-weight: normal;
 color: #666666;
}
#container #footer {
 font-family: geneva, arial, helvetica, sans-serif;
 font-size: 12px;
 color: #999999;
 text-align: right;
 border-top-width: 1px;
 border-right-width: 1px;
 border-bottom-width: 1px;
 border-left-width: 1px;
 border-top-style: solid;
 border-top-color: #999999;
 border-right-color: #000033;
 border-bottom-color: #000033;
 border-left-color: #000033;
 padding-top: 5px;
 padding-right: 10px;
 padding-bottom: 5px;
 padding-left: 5px;
}
#container #footer a {
 color: #999999;
 text-decoration: none;
 font-family: geneva, arial, helvetica, sans-serif;
 font-size: 10px;
}

#container #header #header_main {
 float: left;
 padding: 5px;
 font-family: geneva, arial, helvetica, sans-serif;
 font-size: 12px;
 font-weight: bold;
 color: #ffffff;
 margin-top: 5px;
 margin-right: 0px;
 margin-bottom: 0px;
 margin-left: 0px;
}
.sbtn    {
 background-image: url(images/button.gif);
 border: 1px solid #000033;
 height: 22px;
 width: 82px;
 font-family: geneva, arial, helvetica, sans-serif;
 font-size: 12px;
 color: #ffffff;
 font-weight: bold;
 background-position: center;
 padding: 0px;
 margin-top: 20px;
 margin-right: 20px;
 margin-bottom: 0px;
 margin-left: 20px;
}
button {
 font-family: geneva, arial, helvetica, sans-serif;
 font-size: 12px;
 font-weight: bold;
 color: #ffffff;
 height: 22px;
 width: 82px;
 background-image: url(images/button.gif);
}
#container #content #form1 legend {
 padding: 5px;
 margin: auto;
}
form {
 margin: 10px 5px 0px 5px;
}

 


#container #header {
 padding: 0px;
 margin-top: 0px;
 margin-right: 0px;
 margin-bottom: 0px;
 margin-left: 0px;
 background-image: url(images/header_bg.gif);
 background-repeat: repeat-x;
 height: 42px;
}
label {
 padding: 0px;
 text-align: center;
}

.msg {
 text-align:left;
  color:#666;
 background-repeat: no-repeat;
  margin-left:30px;
   margin-right:30px;
 padding:5px;
   padding-left:30px;
}

.emsg {
 text-align:left;
 margin-left:30px;
   margin-right:30px;
 color:#666;
 background-repeat: no-repeat;
 padding:5px;
   padding-left:30px;
}

#loader{
   visibility:hidden;
}

#f1_upload_form{
   height:100px;
}

#f1_error{
   font-family: geneva, arial, helvetica, sans-serif;
 font-size: 12px;
   font-weight:bold;
   color:#ff0000;
}

#f1_ok{
   font-family: geneva, arial, helvetica, sans-serif;
 font-size: 12px;
   font-weight:bold;
   color:#00ff00;

}

#f1_upload_form {
 font-family: geneva, arial, helvetica, sans-serif;
 font-size: 12px;
 font-weight: normal;
 color: #666666;
}

#f1_upload_process{
   z-index:100;
   visibility:hidden;
   position:absolute;
   text-align:center;
   width:400px;
}
</style>
  
<script language="网页特效" type="text/javascript">
<!--
function startupload(){
      document.getelementbyid('f1_upload_process').style.visibility = 'visible';
      document.getelementbyid('f1_upload_form').style.visibility = 'hidden';
      return true;
}

function stopupload(success){
      var result = '';
      if (success == 1){
         result = '<span class="msg">the file was uploaded successfully!</span><br/><br/>';
      }
      else {
         result = '<span class="emsg">there was an error during file upload!</span><br/><br/>';
      }
      document.getelementbyid('f1_upload_process').style.visibility = 'hidden';
      document.getelementbyid('f1_upload_form').innerhtml = result + '<label>file: <input name="myfile" type="file" size="30" /></label><label><input type="submit" name="submitbtn" class="sbtn" value="upload" /></label>';
      document.getelementbyid('f1_upload_form').style.visibility = 'visible';     
      return true;  
}
//-->
</script>  
</head>

<body>
       <div id="container">
            <div id="header"><div id="header_left"></div>
            <div id="header_main">max's ajax file uploader</div><div id="header_right"></div></div>
            <div id="content">
                <form action="upload.php" method="post" enctype="multipart/form-data" target="upload_target" onsubmit="startupload();" >
                     <p id="f1_upload_process">loading...<br/><img src="loader.gif" /><br/></p>
                     <p id="f1_upload_form" align="center"><br/>
                         <label>file: 
                              <input name="myfile" type="file" size="30" />
                         </label>
                         <label>
                             <input type="submit" name="submitbtn" class="sbtn" value="upload" />
                         </label>
                     </p>
                    
                     <iframe id="upload_target" name="upload_target" src="#" style="width:0;height:0;border:0px solid #fff;"></iframe>
                 </form>
             </div>

         </div>
     
</body>  

这是昨天在应用开发时用到的一款ajax图片上传功能了,方法很简单的就是把文件利用js给iframe来直接上专,如果上传文件成功返回1,再用js判断是否上传成功如果是就输出图片并显示预览效果。
 代码如下 复制代码

<!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=gb2312" />
<title>ajax文件上传</title>
<style type="text/css教程">
#f1_upload_process { display:none;}
</style>
<script language="网页特效" type="text/javascript">
<!--

function $(id)
{
 return document.getelementbyid(id);
}

function startupload(){
      if( $('myfile').value =='' )
   {
    alert('请选择要上传图片!');
    return false;
   }
   var array = $('myfile').value.split('.');
   var ext = array[1].tolowercase();  
   if( ext =="gif" || ext =="jpg" || ext =="png" )
   {   
    $('f1_upload_process').style.display = 'block';
    $('f1_upload_form').style.display = 'block';
    return true;
   }
   else
   {
   alert('只允许上传gif jpg png格式图像文件!');
   return false; 
   }
}

function stopupload(success,pic){
      var result = '';
      if (success ==1 ){
   result ='<img src='+pic+' />';
   $('logo').value=pic;
      }
      else {
         result = '<span class="emsg">logo图片上传失败,请联系开发人员!</span><br/><br/>';
      }
      $('f1_upload_process').style.display = 'none';
      $('f1_upload_form').innerhtml = result + '<br /><label><input name="myfile" type="file" size="30" /></label><label><input type="submit" name="submitbtn" class="sbtn" value="上传图片" /></label>';
      $('f1_upload_form').style.display = 'block';    
      return true;  
}

//-->
</script>
</head>

<body>
<form action="upload.php教程" method="post" enctype="multipart/form-data" target="upload_target" onsubmit="javascript:return startupload();" >
     <span id="f1_upload_process"><img src="loader.gif" /></span>
     <span id="f1_upload_form" align="center">
       <input name="myfile" type="file" id="myfile" size="30" />  
       <input type="submit" name="submitbtn" class="sbtn" value="上传图片" />
       
     </span>
    
     <iframe id="upload_target" name="upload_target" src="#" style="width:0;height:0;border:0px solid #fff;"></iframe>
 (可上传 gif,jpg,png)
</form>
</body>
</html>

upload.php

 代码如下 复制代码

<?php
   $destination_path = '../../upfile/jianjulogo/';//getcwd().directory_separator;

   $result = 0;
  
   $target_path = $destination_path . basename( $_files['myfile']['name']);

   if(@move_uploaded_file($_files['myfile']['tmp_name'], $target_path)) {
      $result = 1;
   }
   echo $target_path;
   sleep(1);


?>
<script language="javascript" type="text/javascript">window.top.window.stopupload(<?php echo $result; ?>,'<?=$target_path?>');</script>

[!--infotagslink--]

相关文章

  • 使用PHP+JavaScript将HTML页面转换为图片的实例分享

    这篇文章主要介绍了使用PHP+JavaScript将HTML元素转换为图片的实例分享,文后结果的截图只能体现出替换的字体,也不能说将静态页面转为图片可以加快加载,只是这种做法比较interesting XD需要的朋友可以参考下...2016-04-19
  • C#从数据库读取图片并保存的两种方法

    这篇文章主要介绍了C#从数据库读取图片并保存的方法,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下...2021-01-16
  • Photoshop古装美女图片转为工笔画效果制作教程

    今天小编在这里就来给各位Photoshop的这一款软件的使用者们来说说把古装美女图片转为细腻的工笔画效果的制作教程,各位想知道方法的使用者们,那么下面就快来跟着小编一...2016-09-14
  • Python 图片转数组,二进制互转操作

    这篇文章主要介绍了Python 图片转数组,二进制互转操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-09
  • php抓取网站图片并保存的实现方法

    php如何实现抓取网页图片,相较于手动的粘贴复制,使用小程序要方便快捷多了,喜欢编程的人总会喜欢制作一些简单有用的小软件,最近就参考了网上一个php抓取图片代码,封装了一个php远程抓取图片的类,测试了一下,效果还不错分享...2015-10-30
  • 不打开网页直接查看网站的源代码

      有一种方法,可以不打开网站而直接查看到这个网站的源代码..   这样可以有效地防止误入恶意网站...   在浏览器地址栏输入:   view-source:http://...2016-09-20
  • php 调用goolge地图代码

    <?php require('path.inc.php'); header('content-Type: text/html; charset=utf-8'); $borough_id = intval($_GET['id']); if(!$borough_id){ echo ' ...2016-11-25
  • 利用JS实现点击按钮后图片自动切换的简单方法

    下面小编就为大家带来一篇利用JS实现点击按钮后图片自动切换的简单方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2016-10-25
  • jquery左右滚动焦点图banner图片鼠标经过显示上下页按钮

    jquery左右滚动焦点图banner图片鼠标经过显示上下页按钮...2013-10-13
  • JS基于Mootools实现的个性菜单效果代码

    本文实例讲述了JS基于Mootools实现的个性菜单效果代码。分享给大家供大家参考,具体如下:这里演示基于Mootools做的带动画的垂直型菜单,是一个初学者写的,用来学习Mootools的使用有帮助,下载时请注意要将外部引用的mootools...2015-10-23
  • JS+CSS实现分类动态选择及移动功能效果代码

    本文实例讲述了JS+CSS实现分类动态选择及移动功能效果代码。分享给大家供大家参考,具体如下:这是一个类似选项卡功能的选择插件,与普通的TAb区别是加入了动画效果,多用于商品类网站,用作商品分类功能,不过其它网站也可以用,...2015-10-21
  • JS实现自定义简单网页软键盘效果代码

    本文实例讲述了JS实现自定义简单网页软键盘效果。分享给大家供大家参考,具体如下:这是一款自定义的简单点的网页软键盘,没有使用任何控件,仅是为了练习JavaScript编写水平,安全性方面没有过多考虑,有顾虑的可以不用,目的是学...2015-11-08
  • php 取除连续空格与换行代码

    php 取除连续空格与换行代码,这些我们都用到str_replace与正则函数 第一种: $content=str_replace("n","",$content); echo $content; 第二种: $content=preg_replac...2016-11-25
  • js实现上传图片及时预览

    这篇文章主要为大家详细介绍了js实现上传图片及时预览的相关资料,具有一定的参考价值,感兴趣的朋友可以参考一下...2016-05-09
  • php简单用户登陆程序代码

    php简单用户登陆程序代码 这些教程很对初学者来讲是很有用的哦,这款就下面这一点点代码了哦。 <center> <p>&nbsp;</p> <p>&nbsp;</p> <form name="form1...2016-11-25
  • Photoshop枪战电影海报图片制作教程

    Photoshop的这一款软件小编相信很多的人都已经是使用过了吧,那么今天小编在这里就给大家带来了用Photoshop软件制作枪战电影海报的教程,想知道制作步骤的玩家们,那么下面...2016-09-14
  • PHP实现清除wordpress里恶意代码

    公司一些wordpress网站由于下载的插件存在恶意代码,导致整个服务器所有网站PHP文件都存在恶意代码,就写了个简单的脚本清除。恶意代码示例...2015-10-23
  • JS实现双击屏幕滚动效果代码

    本文实例讲述了JS实现双击屏幕滚动效果代码。分享给大家供大家参考,具体如下:这里演示双击滚屏效果代码的实现方法,不知道有觉得有用处的没,现在网上还有很多还在用这个特效的呢,代码分享给大家吧。运行效果截图如下:在线演...2015-10-30
  • js识别uc浏览器的代码

    其实挺简单的就是if(navigator.userAgent.indexOf('UCBrowser') > -1) {alert("uc浏览器");}else{//不是uc浏览器执行的操作}如果想测试某个浏览器的特征可以通过如下方法获取JS获取浏览器信息 浏览器代码名称:navigator...2015-11-08
  • JS日期加减,日期运算代码

    一、日期减去天数等于第二个日期function cc(dd,dadd){//可以加上错误处理var a = new Date(dd)a = a.valueOf()a = a - dadd * 24 * 60 * 60 * 1000a = new Date(a)alert(a.getFullYear() + "年" + (a.getMonth() +...2015-11-08