php文件上传下载源码,网上下载的php源码怎么用
今天给各位分享php文件上传下载源码的知识,其中也会对网上下载的php源码怎么用进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
php 批量大文件上传下载如何实现
1.首先还是查看环境是否支持超大容量上传的支持,500M以上的文件通常为视频文件;
2.即然他要上传500M以上的文件,估计服务器性能必定非同凡想,所以暂可不考虑服务器硬件配置问题,但一定要考虑到网速问题,建议1000M以上出入速率,如少于这个数,你可以放弃这个方案了;
3.前面硬件都过关了,但程序也要加强了,一下上传500M是哪种语言都不能实现的,唯一解决方案,文件切割,如迅雷下载原理一样(采用续点上传),分成若干小块,然后全部上传完毕以后,再进行文件合成。
4.至于PHP的文件切割,切割后上传,以及文件合并,此类代码网上有许多,楼主可查询并选择适合你的代码,实现你的功能!
php源码高手请进!!!
1、安装php运行环境
2、安装数据库
3、将网站目录指向网站源码所在的文件夹
详细步骤如下:
===========
===========
===========
Windows 2000/XP/2003下 IIS+PHP+MySQL+Zend Optimizer+GD库+phpMyAdmin安装配置
关键词:Windows IIS下配置支持PHP+MYSQL
Apache下支持PHP的配置方法比较简单,这里就不写了
一般WIN主机推荐PHP环境组合:PHP4.4.x+MySQL4.0.x,故以下关于PHP4.4.x+MySQL4.0.x组合的安装以蓝色文字显示,如果你只需要安装PHP4.4.x+MySQL4.0.x的组合只看蓝色文字的相关内容即可
当然喜欢体验的或者WIN2003系统也可体验尝试最新的版本,推荐组合PHP5.1.x+MYSQL5.0.x/MySQL4.1.x
一、软件准备:以下均为截止2006-1-20的最新正式版本,下载地址也均长期有效
1.PHP,推荐PHP4.4.0的ZIP解压版本:
PHP(4.4.0):
[供选用]:
PHP(5.1.2):
2.MySQL,配合PHP4推荐MySQL4.0.26的WIN系统安装版本:
MySQL(4.0.26):
... p/from/pick#mirrors
[供选用]:
MySQL(4.1.16):
... p/from/pick#mirrors
MySQL(5.0.18):
... p/from/pick#mirrors
3.Zend Optimizer,当然选择当前最新版本拉:
Zend Optimizer(2.6.2):
(Zend软件虽然免费下载,但需要注册用户,这里提供本人注册好的帐户名:
xqincom
和密码:
xqin.com
,方便大家使用,请不要修改本帐号或将本帐户用于其他费正当途径,谢谢!)
登陆后选择Windows x86的Platform版本,如最新版本2.6.2
4.phpMyAdmin,当然同样选择当前最新版本拉,注意选择for Windows的版本哦:
phpMyAdmin(2.7.0):
假设 C:\为你现在所使用操作系统的系统盘,如果你目前操作系统不是安装在 C:\,请自行对应修改相应路径。同时由于C盘经常会因为各种原因重装系统,数据放在该盘不易备份和转移
选择安装目录,故本文将所有PHP相关软件均安装到D:\php目录下,这个路径你可以自行设定,如果你安装到不同目录涉及到路径的请对应修改以下的对应路径即可
二、安装 PHP:本文PHP安装路径取为D:\php\php4\
(为避混淆,PHP5.1.x版本安装路径取为D:\php\php5\)
(1)、下载后得到 php-4.4.0-Win32.zip,解压至D:\php目录,将得到二级目录php-4.4.0-Win32,改名为 php4,也即得到PHP文件存放目录D:\php\php4\[如果是PHP5.1.2,得到的文件是php-5.1.2-Win32.zip,直接全部接压至D:\php\php5目录即可得PHP文件存放目录D:\php\php5\
];
(2)、再将D:\php\php4目录和D:\php\php4\dlls目录[
PHP5为D:\php\php5\
]下的所有dll文件拷到c:\Windows\system32(win2000系统为 c:/winnt/system32/)下,覆盖已有的dll文件;
(3)、将php.ini-dist用记事本打开,利用记事本的查找功能搜索并修改:
搜索
CODE:
[Copy to clipboard]
register_globals= Off,将 Off改成 On,即得到register_globals= On;
注:这个对应PHP的全局变量功能,考虑有很多PHP程序需要全局变量功能故打开,打开后请注意-PHP程序的严谨性,如果不需要推荐不修改保持默认Off状态
再搜索
CODE:
[Copy to clipboard]
extension_dir=,并将其路径指到你的 PHP目录下的 extensions目录,比如:修改extension_dir="./"为extension_dir="D:/php/php4/extensions/";
PHP扩展功能目录[PHP5对应修改为extension_dir="D:/php/php5/ext/"]
在D:\php下建立文件夹并命名为tmp
查找
CODE:
[Copy to clipboard]
;upload_tmp_dir=将;upload_tmp_dir该行的注释符,即前面的分号“;”去掉,使该行在php.ini文档中起作用。upload_tmp_dir是用来定义上传文件存放的临时路径,在这里你还可以修改并给其定义一个绝对路径,这里设置的目录必须有读写权限。
这里我设置为upload_tmp_dir= D:/php/tmp(即前面建立的这个文件夹呵)
搜索找到
CODE:
[Copy to clipboard]
;Windows Extensions将下面一些常用的项前面的;去掉
CODE:
[Copy to clipboard]
;extension=php_mbstring.dll
CODE:
[Copy to clipboard]
;extension=php_curl.dll
CODE:
[Copy to clipboard]
;extension=php_dbase.dll
CODE:
[Copy to clipboard]
;extension=php_gd2.dll
这个是用来支持GD库的,一般需要,必选
CODE:
[Copy to clipboard]
;extension=php_ldap.dll
CODE:
[Copy to clipboard]
extension=php_zip.dll去掉前面的";"
对于PHP5的版本还需要查找
CODE:
[Copy to clipboard]
;extension=php_mysql.dll并同样去掉前面的";"
这个是用来支持MYSQL的,由于PHP5将MySQL作为一个独立的模块来加载运行的,故要支持MYSQL必选
查找
CODE:
[Copy to clipboard]
;session.save_path=去掉前面;号,本文这里将其设置置为
session.save_path= D:/php/tmp
其他的你可以选择需要的去掉前面的;然后将该文件另存为为php.ini到C:\Windows( Windows 2000下为 C:\WINNT)目录下,注意更改文件后缀名为ini,得到C:\Windows\php.ini( Windows 2000下为 C:\WINNT\php.ini)
本人配置成功后的PHP.INI文件示例可供大家参考:
对应版本为PHP4.4.0
对应版本为PHP5.1.12
若路径等和本文相同可直接保存到C:\Windows( Windows 2000下为 C:\WINNT)目录下使用若路径等和本文相同可直接保存到C:\Windows( Windows 2000下为 C:\WINNT)目录下使用
一些朋友经常反映无法上传较大的文件或者运行某些程序经常超时,那么可以找到C:\Windows( Windows 2000下为 C:\WINNT)目录下的PHP.INI以下内容修改:
max_execution_time= 30;这个是每个脚本运行的最长时间,可以自己修改加长,单位秒
max_input_time= 60;这是每个脚本可以消耗的时间,单位也是秒
memory_limit= 8M;这个是脚本运行最大消耗的内存,也可以自己加大
upload_max_filesize= 2M;上载文件的最大许可大小,自己改吧,一些图片论坛需要这个更大的值
(4)、配置 IIS使其支持 PHP:
首先必须确定系统中已经正确安装 IIS,如果没有安装,需要先安装 IIS,安装步骤如下:
Windows 2000/XP下的 IIS安装:
用 Administrator帐号登陆系统,将 Windows 2000安装光盘插入光盘驱动器,进入“控制面板”点击“添加/删除程序”,再点击左侧的“添加/删除 Windows组件”,在弹出的窗口中选择“Internet信息服务(IIS)”,点下面的“详细信息”按钮,选择组件,以下组件是必须的:“Internet服务管理器”、“World Wide Web服务器”和“公用文件”,确定安装。
安装完毕后,在“控制面板”的“管理工具”里打开“服务”,检查“IIS Admin Service”和“World Wide Web Publishing Service”两项服务,如果没有启动,将其启动即可。
Windows 2003下的 IIS安装:
由于 Windows 2003的 IIS 6.0集成在应用程序服务器中,因此安装应用程序服务器就会默认安装 IIS 6.0,在“开始”菜单中点击“配置您的服务器”,在打开的“配置您的服务器向导”里左侧选择“应用程序服务器(IIS,ASP.NET)”,单击“下一步”出现“应用程序服务器选项”,你可以选择和应用程序服务器一起安装的组件,默认全选即可,单击“下一步”,出现“选择总结界面”,提示了本次安装中的选项,配置程序将自动按照“选择总结”中的选项进行安装和配置。
打开浏览器,输入:
,看到成功页面后进行下面的操作:
PHP支持 CGI和 ISAPI两种安装模式,CGI更消耗资源,容易因为超时而没有反映,但是实际上比较安全,负载能力强,节省资源,但是安全性略差于CGI,本人推荐使用 ISAPI模式。故这里只解介绍 ISAPI模式安装方法:(以下的截图因各个系统不同,窗口界面可能不同,但对应选项卡栏目是相同的,只需找到提到的对应选项卡即可)
在“控制面板”的“管理工具”中选择“Internet服务管理器”,打开 IIS后停止服务,对于WIN2000系统在”Internet服务管理器“的下级树一般为你的”计算机名“上单击右键选择“属性”,再在属性页面选择主属性”WWW服务“右边的”编辑“
对于XP/2003系统展开”Internet服务管理器“的下级树一般为你的”计算机名“选择”网站“并单击右键选择“属性”
在弹出的属性窗口上选择“ISAPI筛选器”选项卡找到并点击“添加”按钮,在弹出的“筛选器属性”窗口中的“筛选器名称”栏中输入:PHP,再将浏览可执行文件使路径指向 php4isapi.dll所在路径,如本文中为:D:\php\php4\sapi\php4isapi.dll[PHP5对应路径为D:\php\php5\ php5isapi.dll
]。
打开“站点属性”窗口的“主目录”选项卡,找到并点击“配置”按钮
在弹出的“应用程序配置”窗口中的”应用程序映射“选项卡找到并点击“添加”按钮新增一个扩展名映射,在弹出的窗口中单击“浏览”将可执行文件指向 php4isapi.dll所在路径,如本文中为:D:\php\php4\sapi\php4isapi.dll[
PHP5对应路径为D:\php\php5\php5isapi.dll
],扩展名为.php,动作限于”GET,HEAD,POST,TRACE“,将“脚本引擎”“确认文件是否存在”选中,然后一路确定即可。如果还想支持诸如.php3,.phtml等扩展名的 PHP文件,可以重复“添加”步骤,对应扩展名设置为需要的即可如.PHPX。
此步操作将使你服务器IIS下的所有站点都支持你所添加的PHP扩展文件,当然如果你只需要部分站点支持PHP,只需要在“你需要支持PHP的Web站点”比如“默认Web站点”上单击右键选择“属性”,在打开的“ Web站点属性”“主目录”选项卡,编辑或者添加PHP的扩展名映射即可或者将你步需要支持PHP的站点中的PHP扩展映射删除即可
再打开“站点属性”窗口的“文档”选项卡,找到并点击“添加”按钮,向默认的 Web站点启动文档列表中添加 index.php项。您可以将 index.php升到最高优先级,这样,访问站点时就会首先自动寻找并打开 index.php文档。
确定 Web目录的应用程序设置和执行许可中选择为纯脚本,然后关闭 Internet信息服务管理器
对于2003系统还需要在“Internet服务管理器”左边的“WEB服务扩展”中设置ISAPI扩展允许,Active Server Pages允许
完成所有操作后,重新启动IIS服务。
在CMD命令提示符中执行如下命令:
net stop w3svc
net stop iisadmin
net start w3svc
到此,PHP的基本安装已经完成,我们已经使网站支持PHP脚本。
检查方法是,在 IIS根目录下新建一个文本文件存为 php.php,内容如下:
CODE:
[Copy to clipboard]
打开浏览器,输入:
,将显示当前服务器所支持 PHP的全部信息,可以看到 Server API的模式为:ISAPI。
或者利用PHP探针检测
下载后解压到你的站点根目录下并访问即可
三、安装 MySQL:
对于MySQL4.0.26下载得到的是mysql-4.0.26-win32.zip,解压到mysql-4.0.26-win32目录双击执行 Setup.exe一路Next下一步,选择安装目录为D:\php\MySQL和安装方式为Custom自定义安装,再一路Next下一步即可。
安装完毕后,在CMD命令行中输入并运行:
CODE:
[Copy to clipboard]
D:\php\MySQL\bin\mysqld-nt-install如果返回Service successfully installed.则说明系统服务成功安装
新建一文本文件存为MY.INI,编辑配置MY.INI,这里给出一个参考的配置
(
可以下载后直接保存到WINDOWS或者WINNT目录使用)
CODE:
[Copy to clipboard]
[mysqld]
basedir=D:/php/MySQL
#MySQL所在目录
datadir=D:/php/MySQL/data
#MySQL数据库所在目录,可以更改为其他你存放数据库的目录
#language=D:/php/MySQL/share/your language directory
#port=3306
set-variable= max_connections=800
skip-locking
set-variable= key_buffer=512M
set-variable= max_allowed_packet=4M
set-variable= table_cache=1024
set-variable= sort_buffer=2M
set-variable= thread_cache=64
set-variable= join_buffer_size=32M
set-variable= record_buffer=32M
set-variable= thread_concurrency=8
set-variable= myisam_sort_buffer_size=64M
set-variable= connect_timeout=10
set-variable= wait_timeout=10
server-id= 1
[isamchk]
set-variable= key_buffer=128M
set-variable= sort_buffer=128M
set-variable= read_buffer=2M
set-variable= write_buffer=2M
[myisamchk]
set-variable= key_buffer=128M
set-variable= sort_buffer=128M
set-variable= read_buffer=2M
set-variable= write_buffer=2M
[WinMySQLadmin]
Server=D:/php/MySQL/bin/mysqld-nt.exe保存后复制此MY.INI文件到C:\Windows( Windows 2000下为 C:\WINNT)目录下
回到CMD命令行中输入并运行:
CODE:
[Copy to clipboard]
net start mysqlMySQL服务正在启动.
MySQL服务已经启动成功。
将启动 MySQL服务;
DOS下修改ROOT密码:当然后面安装PHPMYADMIN后修改密码也可以通过PHPMYADMIN修改
格式:mysqladmin-u用户名-p旧密码 password新密码
例:给root加个密码xqin.com
首先在进入CMD命令行,转到MYSQL目录下的bin目录,然后键入以下命令
mysqladmin-uroot password xqin.com
注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。
D:\php\MySQL\bin>mysqladmin-uroot password xqin.com回车后ROOT密码就设置为xqin.com了
如果你下载的是 MySQL5.x或者MySQL4.1.x,例mysql-5.0.18-win32:解压后双击执行 Setup.exe,Next下一步后选择Custom自定义安装,再Next下一步选择安装路径这里我们选择D:\php\MySQL,继续Next下一步跳过Sign UP完成安装。
安装完成后会提示你是不是立即进行配置,选择是即可进行配置。当然一般安装后菜单里面也有配置向导MySQL Server Instance Config Wizar,运行后按下面步骤配置并设置ROOT密码即可
Next下一步后选择Standard Configuration
Next下一步,钩选Include.. PATH
Next下一步,设置ROOT密码,建议社设置复杂点,确保服务器安全!
Apply完成后将在D:\php\MySQL目录下生成MY.INI配置文件,添加并启动MySQL服务
如果你的MySQL安装出错,并且卸载重装仍无法解决,这里提供一个小工具系统服务管理器
,用于卸载后删除存在的MYSQL服务,重起后再按上述说明进行安装一般即可成功安装
四、安装 Zend Optimizer:
下载后得到 ZendOptimizer-2.6.2-Windows-i386.exe,直接双击安装即可,安装过程要你选择 Web Server时,选择 IIS,然后提示你是否 Restart Web Server,选择是,完成安装之前提示是否备份 php.ini,点确定后安装完成。我这里安装到D:\php\Zend
以下两步的目录根据你自己的默认WEB站点目录来选,当然也可以选择到D:\php\Zend目录
Zend Optimizer的安装向导会自动根据你的选择来修改 php.ini帮助你启动这个引擎。下面简单介绍一下 Zend Optimizer的配置选项。以下为本人安装完成后 php.ini里的默认配置代码(分号后面的内容为注释):
zend_extension_ts="D:\php\Zend\lib\ZendExtensionManager.dll"
;Zend Optimizer模块在硬盘上的安装路径。
zend_extension_manager.optimizer_ts="D:\php\Zend\lib\Optimizer-2.6.2"
;优化器所在目录,默认无须修改。
zend_optimizer.optimization_level=1023
;优化程度,这里定义启动多少个优化过程,默认值是 15,表示同时开启 10个优化过程中的 1-4,我们可以将这个值改为 1023,表示开启全部10个优化过程。
调用phpinfo()函数后显示:
Zend Engine v1.3.0, Copyright(c) 1998-2004 Zend Technologies with Zend Extension Manager v1.0.9, Copyright(c) 2003-2006, by Zend Technologies with Zend Optimizer v2.6.2, Copyright(c) 1998-2006, by Zend Technologies则表示安装成功。
经典怎样通过php将本地的文件上传到服务器上
创建一个文件上传表单
允许用户从表单上传文件是非常有用的。
请看下面这个供上传文件的 HTML表单:
<html>
<body>
<form action="upload_file.php" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file"/>
<br/>
<input type="submit" name="submit" value="Submit"/>
</form>
</body>
</html>
请留意如下有关此表单的信息:
<form>标签的 enctype属性规定了在提交表单时要使用哪种内容类型。在表单需要二进制数据时,比如文件内容,请使用"multipart/form-data"。
<input>标签的 type="file"属性规定了应该把输入作为文件来处理。举例来说,当在浏览器中预览时,会看到输入框旁边有一个浏览按钮。
注释:允许用户上传文件是一个巨大的安全风险。请仅仅允许可信的用户执行文件上传操作。
创建上传脚本
"upload_file.php"文件含有供上传文件的代码:
<?php
if($_FILES["file"]["error"]> 0)
{
echo"Error:".$_FILES["file"]["error"]."<br/>";
}
else
{
echo"Upload:".$_FILES["file"]["name"]."<br/>";
echo"Type:".$_FILES["file"]["type"]."<br/>";
echo"Size:".($_FILES["file"]["size"]/ 1024)." Kb<br/>";
echo"Stored in:".$_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文件,文件大小必须小于 20 kb:
<?php
if((($_FILES["file"]["type"]=="image/gif")
||($_FILES["file"]["type"]=="image/jpeg")
||($_FILES["file"]["type"]=="image/pjpeg"))
&&($_FILES["file"]["size"]< 20000))
{
if($_FILES["file"]["error"]> 0)
{
echo"Error:".$_FILES["file"]["error"]."<br/>";
}
else
{
echo"Upload:".$_FILES["file"]["name"]."<br/>";
echo"Type:".$_FILES["file"]["type"]."<br/>";
echo"Size:".($_FILES["file"]["size"]/ 1024)." Kb<br/>";
echo"Stored in:".$_FILES["file"]["tmp_name"];
}
}
else
{
echo"Invalid file";
}
?>
注释:对于 IE,识别 jpg文件的类型必须是 pjpeg,对于 FireFox,必须是 jpeg。
保存被上传的文件
上面的例子在服务器的 PHP临时文件夹创建了一个被上传文件的临时副本。
这个临时的复制文件会在脚本结束时消失。要保存被上传的文件,我们需要把它拷贝到另外的位置:
<?php
if((($_FILES["file"]["type"]=="image/gif")
||($_FILES["file"]["type"]=="image/jpeg")
||($_FILES["file"]["type"]=="image/pjpeg"))
&&($_FILES["file"]["size"]< 20000))
{
if($_FILES["file"]["error"]> 0)
{
echo"Return Code:".$_FILES["file"]["error"]."<br/>";
}
else
{
echo"Upload:".$_FILES["file"]["name"]."<br/>";
echo"Type:".$_FILES["file"]["type"]."<br/>";
echo"Size:".($_FILES["file"]["size"]/ 1024)." Kb<br/>";
echo"Temp file:".$_FILES["file"]["tmp_name"]."<br/>";
if(file_exists("upload/".$_FILES["file"]["name"]))
{
echo$_FILES["file"]["name"]." already exists.";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"upload/".$_FILES["file"]["name"]);
echo"Stored in:"."upload/".$_FILES["file"]["name"];
}
}
}
else
{
echo"Invalid file";
}
?>
上面的脚本检测了是否已存在此文件,如果不存在,则把文件拷贝到指定的文件夹。
好了,文章到此结束,希望可以帮助到大家。