php最简单的文件上传代码
php最简单的文件上传代码
<?php
include("top.txt");
include("scripts.txt");
if(isset($_FILES['ufile']['name'])){
echo "Uploading: ".$_FILES['ufile']['name']."<br>";
$tmpName = $_FILES['ufile']['tmp_name'];
$newName = UPLOADEDFILES . $_FILES['ufile']['name'];
if(!is_uploaded_file($tmpName) || !move_uploaded_file($tmpName, $newName)){
echo "FAILED TO UPLOAD " . $_FILES['ufile']['name'] .
"<br>Temporary Name: $tmpName <br>";
} else {
echo "File uploaded. Thank you!";
}
} else {
echo "You need to select a file. Please try again.";
}
include("bottom.txt");
?>
我接触PHP也不是很久,所以有什么不足的地方,欢迎各位指正,让大家见笑了。
这篇小教程的对象是PHP初学者,都是些最简单、最基本的东西,因此高手们可以略过哦。
为了让各位初学者提起兴趣、尽快入门,这里写的是将是最简单,最基本的PHP程序,相信你只要有一点点的PHP基础知识,10分钟之内就能把它学会。没有PHP基础知识也没有关系,只要耐心的看,学会它也不会超过一个小时的。
我写这篇文章的目的是,和大家一起共同学习、共同进步,然后将PHP初学者们对PHP的恐惧心理驱赶到十万八千里之外,让大家增强自学PHP的信心,其实PHP并不难学,只要静下心来学,一定能够学有所成的。好了,说了这么多废话,赶快开始吧,不然被骂的,呵呵。
[设计思路]
实现:添加、查看、修改、删除,这几个基本功能,为从简单入手,我们就只做这些吧。
[程序规划]
呵呵,不要紧张,我们这里不会搞什么软件工程,做什么需求分析啊,画什么流程图啊之类令人吐血的事情了,呆会我被扁的。当然正规的开发这些是必须的哦,因此有空一定要去了解一下。
input.php ---------- 用来添加联系人信息的表单 (当然这个可以用html咯,但为了避免混淆,就全部统一为PHP格式吧)
post.php ---------- 用来处理表单数据
conn.php ---------- 用来连接数据库
show.php ---------- 用来显示数据
edit.php ---------- 用来修改数据
edited.php ---------- 用来处理修改数据
del.php ---------- 用来删除数据
[数据规划]
也就是数据库设计了,为了好看点就写成四个字了。不要介意。我们这里也不搞什么扯蛋的建模了,也会吐血的,呵呵。好,我们开始,痛苦了一点,没落伍不能截图,我用字符画了一个其丑无比的表格,没办法,就这水平了,大家将就着看下吧,呵呵,哭吧。
____________________________________________________________________________
| 字段 | 类型 | 整理 | 属性 | NULL | 额外 |
| id | int(10) | | UNSIGNED | 否 | auto_increment |
| name | varchar(10) | utf8_general_ci | | 否 | |
| sex | tinyint(1) | | | 否 | |
| mobi | varchar(11) | utf8_general_ci | | 否 | |
| email | varchar(50) | utf8_general_ci | | 否 | |
| addr | varchar(50) | utf8_general_ci | | 否 | |
|__________|____________|______________|___________|__________|______________|
关于数据库,我大概的讲一下哦:
id 大家再熟悉不过了吧?一组数据的唯一的标识。比如说你在落伍的ID咯,点你的ID就出现一堆关于你的信息,这就是唯一的标识。
int(10)就是数据类型了,代表10位的整数,UNSIGNED是非负的意思,auto_increment 是自动添加。由于id设置为自动添加,因此我 们建好它后就不用再管了,让它自生自灭吧,呵呵。
name 这个字段用来储存名字,注意字段名可以随便命名的,比如现在“name”,但为了方便后面的讲解,大家暂时委屈一下跟我命名吧。 建议命名规则为小写字母哦,中间加下划线也可以。varchar(10)储存中国人,10个字应该够了吧?呵呵,不管了,就这样吧。varcha r和char,前者省空间,后者省时间……扯远了,这些数据类型,还是大家自己google了解一下吧。utf8_general_ci,字符集,这个很 重要哦,你一定要清楚自己的数据库用的什么字符集,不然会出现一堆乱码哦。说到字符集,我大力推荐大家使用utf8了。
sex 用来储存性别,为什么类型是tinyint(1),1位小整数够用吗?当然够用了,模仿下二进制,用0表示女,用1表示男就OK了,刚才忘记说 了一点,可能有人还不明白,NULL,否,就是不为空的意思。
mobi 我取得名字也都很直观了,下面就快速带过吧,mobi用来储存手机号码,当然是11位咯。
email 用来储存电子邮件,50位应该绰绰有余了。
addr 用来储存通讯地址,宇宙、地球、国家、省、市、乡、镇、村都写进去,50位也应该够了吧,呵呵。
那么我们现在就来创建数据库咯,建议大家使用phpMyadmin用SQL方式导入下列语句,因为这样是最方便的了:
代码:
CREATE TABLE `addr_list` (
`id` int(10) unsigned NOT NULL auto_increment,
`name` varchar(10) NOT NULL,
`sex` tinyint(1) NOT NULL,
`mobi` varchar(11) NOT NULL,
`email` varchar(50) NOT NULL,
`addr` varchar(50) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
当然你用MySQL Command Line Client手工输入也可以哦,如果你不嫌累的话,呵呵,不过要注意一点,就是把所有的 `` 符号去掉。也就是TAB键上面那颗诡异的按键。不然可能会出现意外哦。
好了,那就等大家先把数据库搞定了再说吧,打了半天字,手好酸,肚子也好饿,呵呵。先去吃饭,一会再继续了,还有4分就落伍了,希望尽快吧,那样就可以截图了,不过用字符画表格还是蛮有意思的,呵呵。
function frendsAction()
{
$uid=$_GET[uid];
$db=&new DataBase();
$page=isset($_GET[page])?$_GET[page]:1;
if($page<1)
{
$page=1;
}
$pagerow=71;//每页显示多少条
$sql="select a.FriendID,b.avatar from dbo_u2m_friends a inner join discuz.cdb_memberfields b on a.FriendID=b.uid where MemberID=".$uid;//计算有多少条
$getPage=&new page($db);
$getPage->getPage($page,$pagerow,$sql);
$rows=$getPage->AllRow;
$t = new Template("views/User");
$t->set_file("index","frendsindex.lhtml");
$t->set_file("header","header.lhtml");
$t->set_file("footer","footer.lhtml");
$t->set_var(array('uid'=>$uid));
$t->parse("header","header");
$t->parse("footer","footer");
$div="";
$n=0;
for($i=1;$i<=8;$i++)
{
for($j=1;$j<=9;$j++)
{
$x=($j-1)*99+58;
$y=($i-1)*99+62;
if($i==1&&$j==1)
{
$div.="<div class=\"FriendsNav\" style=\"position:absolute;top:".$y."px;left:".$x."px;height:99px;width:99px\"></div>";
}
else
{
if($_COOKIE['user']['userid']==$uid)
{
$sback="onmouseover=\"ShowBackground('addactive',this)\"";
}
else
{
$sback="";
}
if($i==8&&$j==9)
{
$div.="<div class=\"Mainbox\" ".$sback." style=\"position:absolute;top:".$y."px;left:".$x."px;height:99px;width:99px\"> </div>";
}
else
{
if(isset($rows)&&$n<=count($rows))
{
$div.="<div id=\"".$rows[$n-1][FriendID]."\" onclick=\"javascript:window.location='?controller=user&uid=".$rows[$n-1][FriendID]."'\" class=\"ActivitiesItem\" style=\"position:absolute;top:".$y."px;left:".$x."px;height:99px;width:99px;background:url(".$rows[$n-1][avatar].") center no-repeat;cursorointer\" onmouseover=\"ShowDiv('FriendsInfo','".$i.$j."',this);\" onmouseout=\"HideDiv('FriendsInfo','".$i.$j."');\" ><img id=\"".$i.$j."\" src=\"views/user/images/bg/Friends_view.gif\" border=\"0\"/></div>";
}
else
{
$div.="<div class=\"Mainbox\" ".$sback." style=\"position:absolute;top:".$y."px;left:".$x."px;height:99px;width:99px\"> </div>";
}
}
}
$n++;
}
}
$t->set_var(array("pageCount"=>$getPage->PageCount,"FrendsCount"=>$getPage->RowCount,"divshow"=>$div,"uid"=>$uid));
$t->parse("out","index");
$t->p("out");
}
<script type="text/javascript" src="views/scripts/page.js"></script>调用js
<script language="JavaScript">
<!--
var pg = new showPages('pg');
pg.pageCount ={pageCount}; // 定义总页数(必要)
pg.detail='共有{FrendsCount}位好友';
//pg.argName = 'p'; // 定义参数名(可选,默认为page)
//document.write('<br>Show Times: ' + pg.showTimes + ', Mood 2');
//document.write('1');
pg.printHtml(2);
//-->
</script>
在论坛里看到很多人碰到将数据插入到数据库的时候显示乱码及从数据库读取出来的数据在网页上显示为乱码的问题,为了能方便用户能在第一时间解决问题,今天特意写了这个教程,希望对有需要的朋友有所帮助。(其实就是做到数据库编码,网页编码及表的编码一致)!GBK2312与下同理
(1) 设置数据库编码, 为了与国际接轨,一般都设置成utf-8
mysql1.gif (16.06 KB)
2007-11-2 13:34
(2)数据表的设置,也设置成utf-8
mysql2.gif (17.23 KB)
2007-11-2 13:34
(3)把你的网页编码也设置成utf-8,打开Dreamweaver,(修改)--(页面属性)
3.gif (7.54 KB)
2007-11-2 13:34
4.gif (18.36 KB)
2007-11-2 13:34
(4)在你的PHP文件的第一行加上 header("Content-Type: text/html; charset=utf-8");
5.gif (1.76 KB)
2007-11-2 13:34
(5)在对数据进行操作之前应该先进行mysql_query('set names utf8');操作,然后再执行对数据的查询,更新,插入等
6.gif (9.49 KB)
2007-11-2 13:34
php数组的灵活应用
function addInput($a)
{
if(is_array($a))
{
$title = $a['title'];
$name = $a['name'];
$value = $a['value'] ? $a['value'] : "";
$type = $a['type'] ? $a['type'] : "text";
$maxlength = $a['maxlength'] ? $a['maxlength'] : "255";
$readonly = $a['readonly'] ? $a['readonly'] : "";
$required = $a['required'] ? $a['required'] : "false";
$check = $a['check'];
$id = $a['id'];
$width = $a['width'];
$tip = $a['tip'];
}
$title,$name,$value="",$type="text",$maxlength="255",$readonly,$required="false",$check,$id,$width,$tip
$this->form .= "<li>\n";
$this->form .= "<label>".$title.":</label>\n";
$this->form .= "<input name=\"".$name."\" value=\"".$value."\" type=\"".$type."\" maxlength=\"".$maxlength."\" required=\"".$required."\" check=\"".$check."\" id=\"".$id."\" class=\"input\" ".$readonly." style=\"width:".$width."px;\" showName=\"".$title."\" /> ";
$this->form .= "<span class=\"tip\">".$tip."</span>\n";
$this->form .= "</li>\n";
}
相关文章
- 下面小编来给大家演示几个php操作zip文件的实例,我们可以读取zip包中指定文件与删除zip包中指定文件,下面来给大这介绍一下。 从zip压缩文件中提取文件 代...2016-11-25
Jupyter Notebook读取csv文件出现的问题及解决
这篇文章主要介绍了JupyterNotebook读取csv文件出现的问题及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2023-01-06- 有一种方法,可以不打开网站而直接查看到这个网站的源代码.. 这样可以有效地防止误入恶意网站... 在浏览器地址栏输入: view-source:http://...2016-09-20
- 有时我们接受或下载到的PSD文件打开是空白的,那么我们要如何来解决这个 问题了,下面一聚教程小伙伴就为各位介绍Photoshop打开PSD文件空白解决办法。 1、如我们打开...2016-09-14
- <?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
- C#使用System.IO中的文件操作方法在Windows系统中处理本地文件相当顺手,这里我们还总结了在Oracle中保存文件的方法,嗯,接下来就来看看整理的C#操作本地文件及保存文件到数据库的基本方法总结...2020-06-25
- 这篇文章主要介绍了解决python 使用openpyxl读写大文件的坑,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-13
- 这篇文章主要介绍了C#实现HTTP下载文件的方法,包括了HTTP通信的创建、本地文件的写入等,非常具有实用价值,需要的朋友可以参考下...2020-06-25
- 这篇文章主要为大家详细介绍了SpringBoot实现excel文件生成和下载,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-02-09
- 本文实例讲述了JS基于Mootools实现的个性菜单效果代码。分享给大家供大家参考,具体如下:这里演示基于Mootools做的带动画的垂直型菜单,是一个初学者写的,用来学习Mootools的使用有帮助,下载时请注意要将外部引用的mootools...2015-10-23
- 本文实例讲述了JS+CSS实现分类动态选择及移动功能效果代码。分享给大家供大家参考,具体如下:这是一个类似选项卡功能的选择插件,与普通的TAb区别是加入了动画效果,多用于商品类网站,用作商品分类功能,不过其它网站也可以用,...2015-10-21
- 本文实例讲述了JS实现自定义简单网页软键盘效果。分享给大家供大家参考,具体如下:这是一款自定义的简单点的网页软键盘,没有使用任何控件,仅是为了练习JavaScript编写水平,安全性方面没有过多考虑,有顾虑的可以不用,目的是学...2015-11-08
- php 取除连续空格与换行代码,这些我们都用到str_replace与正则函数 第一种: $content=str_replace("n","",$content); echo $content; 第二种: $content=preg_replac...2016-11-25
php无刷新利用iframe实现页面无刷新上传文件(1/2)
利用form表单的target属性和iframe 一、上传文件的一个php教程方法。 该方法接受一个$file参数,该参数为从客户端获取的$_files变量,返回重新命名后的文件名,如果上传失...2016-11-25- 本文章来人大家介绍一个php文件上传类的使用方法,期望此实例对各位php入门者会有不小帮助哦。 简介 Class.upload.php是用于管理上传文件的php文件上传类, 它可以帮...2016-11-25
- php简单用户登陆程序代码 这些教程很对初学者来讲是很有用的哦,这款就下面这一点点代码了哦。 <center> <p> </p> <p> </p> <form name="form1...2016-11-25
- 公司一些wordpress网站由于下载的插件存在恶意代码,导致整个服务器所有网站PHP文件都存在恶意代码,就写了个简单的脚本清除。恶意代码示例...2015-10-23
- 要替换字符串中的内容我们只要利用php相关函数,如strstr,str_replace,正则表达式了,那么我们要替换目录所有文件的内容就需要先遍历目录再打开文件再利用上面讲的函数替...2016-11-25
- 又码了一个周末的代码,这次在做一些关于文件上传的东西。(PHP UPLOAD)小有收获项目是一个BT种子列表,用户有权限上传自己的种子,然后配合BT TRACK服务器把种子的信息写出来...2016-11-25
- 本文实例讲述了jQuery实现文件上传进度条效果的代码。分享给大家供大家参考。具体如下: 运行效果截图如下:具体代码如下:<!DOCTYPE html><html><head><meta charset="utf-8"><title>upload</title><link rel="stylesheet...2015-11-24