/*
这二款文件上传程序是非常简单的,很适合初学者的学习php时的文件上传实例教程哦。
*/
if(!$uploadaction):
?>
<html>
<head>
<title>文件上载界面</title>
</head>
<body>
<table>
<tr align="center">
<td><form enctype="multipart/form-data" name="submitform" action="upload.php" method="post">
<input type="hidden" name="max_file_size" value="1000000"><input type="hidden" name="uploadaction" value="1">
</td></tr>
<tr align="center">
<td><input name="uploadfile" type="file" size="30"></td>
</tr>
<tr align="center">
<td><input name="submit" value="提交" type="submit"></td>
<td><input name="reset" value="重置" type="reset"></td>
</tr>
</form>
</table>
</center>
</body>
</html>
<?
else:
?>
<html>
<head>
<title>文件上载代码</title>
</head>
<body>
<?
$uploadaction=0;
echo "good!";
$timelimit=60; /*设置超时限制时间 缺省时间为30秒 设置为0时为不限时 */
set_time_limit($timelimit);
if(($uploadfile !="none" ))
$uploadpath=addslashes(dirname($path_translated))."\upload\"; //上载文件存放路径
$filename=$uploadpath.$uploadfile_name; //上载文件名
if($uploadfile_size < 1024) //上载文件大小
{
$filesize=(string)$uploadfile_size." 字节"; 
}
elseif ($uploadfile_size <(1024 * 1024))
{
$filesize=number_format((double)($uploadfile_size/1024), 1) . " kb";
}
else{
$filesize=number_format((double)($uploadfile_size / (1024 * 1024)), 1) . " mb";
}
if(!file_exists($filename))
{
if(copy($uploadfile,$filename))
{  echo "文件 $uploadfile_name ($filesize)上载成功!"; }
else
{ echo "文件 $uploadfile_name上载失败!"; }
unlink($uploadfile);
}
else
{ echo "文件 $uploadfile_name已经存在!"; }
}
else
{ echo "你没有选择任何文件上载!"; }
set_time_limit(30); //恢复缺省超时设置
?>
<br><a href = "upload.php">返回</a>
</body>
</html>
<?
endif;
?>
方法二
<html>
<head>
<title>文件上传</title>
</head>
<body>
<table>
<form enctype="multipart/form-data" name=myform method="post">
<tr><td>文件上传</td><td><input name="myfile" type="file"></td></tr>
<tr><td colspan="2"><input name="submit" value="上传" type="submit">
</form>
<?php
if(isset($submit)){
if($myfile != "none") {
$upload_dir = "c:winnttemp";
$up=copy($myfile,$upload_dir);
if($up==1) {
print("文件上传成功!");
}
else {
print ("文件上传失败.");
}
unlink ($myfile);
}
else {
print("你没有上传任何文件");   
}
}
?>
</td></tr>
</table>
</body>
</html>
php 简单文件图片上传类
这个文件上传类可以上传gif",".jpg",".jar",".jad",".mid",".mp3",".mid",".bmp",".wav",".rm",".wmv文件格式哦,如果你还想支持其它的话可以设计$this->file_
type();就OK了,。
<?php
class upload{
var $file_type;
var $file_size;
var $file_name;
var $exname;
var $datetime;
function up($post_name,$path){
$this->file_name=$_FILES[$post_name]["name"];
$this->exname=strtolower(substr($this->file_name,strrpos($this->file_name,".")));
$this->file_size=$_FILES[$post_name]["size"];
$this->file_type=array(".gif",".jpg",".jar",".jad",".mid",".mp3",".mid",".bmp",".wav",".rm",".wmv");
$this->datetime=date("YmdHis");
if(!in_array($this->exname,$this->file_type)){
print("<script language='javascript'>");
print("alert('格式不支持!');");
print("history.back();");
print("</script>");
break;
}elseif($this->file_size>"50000"){
print("<script language='javascript'>");
print("alert('图片大小不能超过50KB!');");
print("history.back();");
print("</script>");
break;
}else{
move_uploaded_file($_FILES[$post_name]["tmp_name"],$path.$this->datetime.$this->exname);
}
}
function fileName(){
$pic=$this->datetime.$this->exname;
return $pic;
}
}
?>
php实例多文件上传实例代码
//a = $('<span class="MultiFile-title" title="'+MultiFile.place('$file', v)+'">'+MultiFile.place('$file', v.match(/[^/\]+$/gi)[0])+'</span>'),
//这是新的代码结构.
php初学者项目
//取出图片格式.
ext = String(v.match(/.w{1,4}$/gi));
// v变量是路径地址, 所以可以直接用img来显示出来.
var imgs = (ext=='.jpg' || ext=='.gif' || ext=='.png')?'<img onmouseover="alert(this.src)" width="30" src="'+v+'"/>':'';     
// 从'+imgs+'开始,就是我增加的.
a = $('<span class="MultiFile-title" title="'+MultiFile.place('$file', v)+'">'+MultiFile.place('$file', v.match(/[^/\]+$/gi)[0])+'</span> '+imgs+'  <a class="a_b" href="javascript:;" title="点击插入主题" rsok="'+slave_count+'" onclick="alert('+slave_count+'); return false">点击插入</a>'),
b = $('<a class="MultiFile-remove" href="#'+MultiFile.wrapID+'">'+ve+'</a>');
复制代码<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery.MultiFile.js"></script>
<script type="text/javascript">
<!--
$(function (){
//测试jquery是否加载
//alert('jquery');
//用示例7模式的内容
$('#T7').MultiFile({
list: '#T7-list'
});
})
-->
</script>
<body >
<!--建立一个ID #T7  相应的设置一个div为T7-list来显示内容-->
<input id="T7" name="upfile" type="file" />
<div id="T7-list"></div>
<div>部分测试: <a href="javascript:;" onclick="alert($('#T7-list').html())">列表内容</a></div>
</body>
</html>
复制代码      //对于编辑来说, 键名key就会从0开始计算.所以获取一下附件最后一个rsok值是非常重要的.
//var int_s=$('.a_b:last').attr('rsok');
// Bind functionality to the first element
if(!MultiFile.MultiFile) MultiFile.addSlave(MultiFile.e, 0);
复制代码
文件上传
在您可以使用PHP来管理您的上传,你首先需要建设作为用户界面的HTML表单上传的文
件。有一个在下面的例子外观和保存一个编辑HTML代码。
<html>
<body>
<form enctype="multipart/form-data" action="upload.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="1000000" />
Choose a file to upload: <input name="uploaded_file" type="file" />
<input type="submit" value="Upload" />
</form>
</body>
</html>
有一些规则需要建设时遵循HTML表单。首先,请确保该窗体使用POST方法。第二,形
式需要以下属性:字符编码=“多重/表单数据”。它指定的内容类型时使用的信息提
交给伺服器。如果没有这些要求,您的文件上传不了。
另一个需要注意的是隐藏的表单字段名为MAX_FILE_SIZE设置的值。某些Web浏览器实
际上反映了这个领域,也不会允许用户上载文件超过这个数字(字节)更大。您应该
将此值设置为配合最大上传大小,在php.ini文件中设置。这是一套与中
upload_max_filesize,默认值是2MB的。但它仍然不能保证你的脚本将不会转交了尺
寸较大的文件。危险的是,攻击者将尝试向您发送一个请求几个大文件,并填写了文
件系统,也就是PHP存储解码文件。设置在php.ini的post_max_size的指令文件的最大
尺寸,你要(必须大于中upload_max_filesize)。默认值为10MB的。此指令控制的所
有要求,在一个允许的POST数据最大大小。另外,还要确保在你的php.ini文件
file_uploads设置为On。
至少,有一个在输入标记属性看:类型=“文件”。它是用来指定为文件选择控制输入
元素。这提供了一个文件的URI的地方,则需要键入一个“浏览”按钮,可作为替代的
URI输入使用。
在用户进入一个文件的URI,并点击提交按钮的文
件的副本将被发送到服务器和用户将
被重定向到upload.php。此PHP文件将处理表单数据。
返回页首
处理表单数据(PHP代码)
当文件被上传和PHP创建了一个文件的临时副本,并建立了超全局变量$ _FILES数组,
包含有关文件的信息。对于每个文件,有5个数据。我们已上传字段命名
为'uploaded_file',所以会存在以下数据:
变量$ _FILES [“uploaded_file”] [“name”]从用户的机器上载的文件的原名称
变量$ _FILES [“uploaded_file”] [“type”]的上传文件的MIME类型(如果浏览器
提供的类型)
变量$ _FILES [“uploaded_file”] [“size”]的以字节为单位上传的文件大小
变量$ _FILES [“uploaded_file”] [“tmp_name”],在该文件暂时存储在服务器上
的位置
变量$ _FILES [“uploaded_file”] [“error”]错误代码从文件上传结果
下面的例子接受一个上传的文件并保存在上载目录中。它允许根据350Kb上传只有JPEG
图像。该代码本身,是相当清楚的,但我们会作出一些解释。有一个例子在外观和保
存此为upload.php PHP代码。
<?php
//Сheck that we have a file
if((!empty($_FILES["uploaded_file"])) && ($_FILES['uploaded_file']['error']
== 0)) {
/
/Check if the file is JPEG image and it's size is less than 350Kb
$filename = basename($_FILES['uploaded_file']['name']);
$ext = substr($filename, strrpos($filename, '.') + 1);
if (($ext == "jpg") && ($_FILES["uploaded_file"]["type"] == "image/jpeg")
&&
($_FILES["uploaded_file"]["size"] < 350000)) {
//Determine the path to which we want to save this file
$newname = dirname(__FILE__).'/upload/'.$filename;
//Check if the file with the same name is already exists on the
server
if (!file_exists($newname)) {
/
/Attempt to move the uploaded file to it's new place
if ((move_uploaded_file($_FILES['uploaded_file']
['tmp_name'],$newname))) {
echo "It's done! The file has been saved as: ".$newname;
} else {
echo "Error: A problem occurred during file upload!";
}
} else {
echo "Error: File ".$_FILES["uploaded_file"]["name"]." already
exists";
}
} else {
echo "Error: Only .jpg images under 350Kb are accepted for upload";
}
} else {
echo "Error: No file uploaded";
}
?>
在此之前的上载您需要的文件,以确定文件是否真的上传任何东西。之后我们检查上
传的文件,JPEG图像,其大小小于350Kb的。接下来,我们确定的道路,这是我们要保
存此文件,并检查是否已经存在一个服务器上的这些文件的名称。当所有检查通过,
我们将文件复制到一个永久的位置使用move_upload_file()函数。此功能也证实该
文件你要过程,是一个合法的文件从用户上传结果。如果该文件上传
成功,那么相应
的消息将出现。
注意:要确保PHP已经允许读取和写入临时文件中保存的位置是您要复制文件的目录。
这个例子其实很简单,它的提出是为了演示如何使用PHP上传文件。例如,您可以添加
新的条件,并允许上传GIF和PNG图像,或任何文件,您需要其他种类。如果您是本教
程使用PHP不熟悉可能是一个很好的起点。
php 上传文件并生成缩略图代码
上传文件并生成缩略图代码
if( isset($_FILES['upImg']) )
{
if( $userGroup[$loginArr['group']]['upload'] == 0 )
{
echo '{"error":"您所在的用户组无权上传图片!"}';
}
else
{
$savePath = "attachment/img/".date('Y/m/d/H');
mkDirs($savePath);
$fileType = strtolower(strrchr($_FILES['upImg']['name'],"."));
if ( !in_array($fileType, array(".jpg",".jpeg",".gif",".png")) )
{
echo '{"error":"目前仅支持格式为jpg、jpeg、gif、png的图片!"}';
}
elseif( $_FILES['upImg']['size'] > 204800 )
{
echo '{"error":"图片不能超过200K!"}';
}
else
{
$saveImg = $savePath."/".$loginArr['uid']."_".time().rand().$fileType;
if( @move_uploaded_file($_FILES['upImg']['tmp_name'], $saveImg) )
{
echo '{"error":"","msg":"'.$site_domain.$site_catalog.$saveImg.'"}';
}
else
{
echo '{"error":"图片上传失败!"}';
}
}
}
}
if( $loginArr['state'] == 0 )
{
echo '{"error":"您还没有登录!"}';
}
else
{
$avatarPath = "attachment/avatar/".($loginArr['uid']%32)."/".($loginArr['uid']%257)."/".$loginArr['uid'];
if( isset($_FILES['upAvatar']) )
{
mkDirs($avatarPath);
$fileType = strtolower(strrchr($_FILES['upAvatar']['name'],"."));
if ( !in_array($fileType, array(".jpg",".jpeg",".gif",".png")) )
{
echo '{"error":"目前仅支持格式为jpg、jpeg、gif、png的图片!"}';
}
elseif( $_FILES['upAvatar']['size'] > 2097152 )
{
echo '{"error":"图片不能超过2MB!"}';
}
else
{
$imgInfo = @getimagesize($_FILES['upAvatar']['tmp_name']);
if( !$imgInfo || !in_array($imgInfo[2], array(1,2,3)) )
{
echo '{"error":"系统无法识别您上传的文件!"}';
}
else
{
$TmpAvatar = $avatarPath."/temp".$fileType;
if( @move_uploaded_file($_FILES['upAvatar']['tmp_name'], $TmpAvatar) )
{
$maxWidth = 520;
$maxHeight = 520;
if( $maxWidth > $imgInfo[0] || $maxHeight > $imgInfo[1] )
{
$maxWidth = $imgInfo[0];
$maxHeight = $imgInfo[1];
}
else
{
if ( $imgInfo[0] < $imgInfo[1] )
$maxWidth = ($maxHeight / $imgInfo[1]) * $imgInfo[0];
else
$maxHeight = ($maxWidth / $imgInfo[0]) * $imgInfo[1];
}
if( $maxWidth < 40 )
{
$maxWidth = 40;
}
if( $maxHeight < 40 )
{
$maxHeight = 40;
}
$image_p = imagecreatetruec