当前位置:首页 » 文件管理 » php附件上传

php附件上传

发布时间: 2024-11-09 19:37:38

1. 如何正确调整php上传附件大小限制


需要在PHP.ini里设置以下几项:
1.
post_max_size
=10M
表单提交最大数据为10M.此项不是限制上传单个文件的大小,而是针对整个表单的提交数据进行限制的.
2.file_uploads
=
On
是否允许上传文件,如果为OFF您将不能上传文件.
3.upload_tmp_dir
=
"D:/APM/PHP/uploadtemp/"
上传文件时系统使用的缓存目录.如果此目录所在磁盘空间不足的话您将不能上传文件.
4.upload_max_filesize
=2M
最大上传文件大小,此项针对上传文件时单个文件的大小.
与post_max_size之间的关系:
在论坛发表贴子时,您post_max_size
设为10M,而此项设成了2M,那么您只能上传最大为2M的附件,且可以同时上传5个.
注意:很多人遇到修改php.ini后重应WEB服务后仍然不能生效.这种情况应该先确认一下所改的php.ini是不是当前PHP所使用的.
您可以在WEB目录下建立一个php文件,内容很简单就一句话
代码:
<?

2. php上传文件到其他服务器(php文件上传)

怎么将php文件上传到服务器上

1、可以和本地的进行双向传输(可以上传和下载)。如果只上传个别文件,可以使用浏览器或者DOS进行传输,浏览器的方法是打开地址:ftp://用户名:密码@服务器地址/,DOS命令是ftp服务器地址,然后输入用户名和密码。

2、登录你购买的空间的ftp后台,将你做好的php网页上传到服务器上,记得买空间的时候要买支持php服务的。一切正常的话,然后上网就可以访问你的php文件了。

3、可以点击下面的“建立备份”一。点击建立“备份用FTP”。用FTP将您自己的数据库备份文件上传到服务器上,覆盖服务器上的bak(sql2000)/sql(Mysql)。再点从备份一中的“备份中还原。

4、你要是用的比如类似织梦CMS一样的程序的话把你下载的源文件直接上传到服务器上然后按照说明安装就可以了。

5、接下来,您需要在服务器上安装一个PHP直播源,比如Red5,Kurento或者Wowza,这些都是支持PHP的直播源。安装完成后,您可以使用PHP脚本来控制直播源,比如控制直播源的音量,调整直播流的质量,控制直播源的播放速度等等。

6、要分情况来说,如果你是申请的网上的免费主页空间(支持php),那么空间的提供商一般会给你提供一个后台的界面让你上传文件,或者给你开通ftp服务,通过ftp上传,你的web地址(域名)由空间提供商给你。

如何把自己的php文件发布到互联网上?

1、下载安装FTP软件,输入服务器IP地址,FTP的用户名和密码进行连接。连接FTP后,找到要上传的PHP项目文件,上传到服务器即可。

2、第一,你需要一个域名,你要把服务器跟你的域名绑定,一般买的虚拟主机的话会提供一个后台给你配置域名绑定的,如果是买的独立的服务器则需要自己配置绑定。

3、通过使用PHP的全局数组$_FILES,你可以从客户计算机向远程服务器上传文件。第一个参数是表单的inputname,第二个下标可以是name,type,size,tmp_name或error。

4、首先,保证电脑上安装有ie类型浏览器,同时有一份php类型源代码,如图。在电脑上有一份php源代码文件后,在该源代码文件里面找到一个名为main的文件件。

5、安装上去就可以了。完全免费。这类软件其实很多。局域网用嘛,就用WAMP好了,安装上去,把PHP源代码放进去就行了,也没有什么复杂设置。功能也足够多。世界有一大半的网站远行的是APACHE。WAMP集成环境也非常流行。

php如何上传图片到远程服务器

首先,在自己台式机和笔记本上都开通了ftp,这个不会的同学可以网上查serv-u,相关教程肯定不少的。

使用imagepng函数把图像输出到浏览器或者文件中。

用Internet语言来说,用户可通过客户机程序向(从)远程主机上传(下载)文件。

php上传图片客户端和服务器端实现方法分享给大家供大家参考。

3. thinkphp3.2.3 怎么上传form表单

上传表单
在ThinkPHP中使用上传功能无需进行特别处理。例如,下面是一个带有附件上传的表单提交:
<form action="__URL__/upload" enctype="multipart/form-data" method="post" >
<input type="text" name="name" />
<input type="file" name="photo" />
<input type="submit" value="提交" >
</form>
注意,要使用上传功能 你的表单需要设置 enctype="multipart/form-data"
多文件上传支持
如果需要使用多个文件上传,只需要修改表单,把
<input type='file' name='photo'>
改为
<input type='file' name='photo1'>
<input type='file' name='photo2'>
<input type='file' name='photo3'>
或者
<input type='file' name='photo[]'>
<input type='file' name='photo[]'>
<input type='file' name='photo[]'>
两种方式的多附件上传系统的文件上传类都可以自动识别。
上传操作
ThinkPHP文件上传操作使用Think\Upload类,假设前面的表单提交到当前控制器的upload方法,我们来看下upload方法的实现代码:
public function upload(){
$upload = new \Think\Upload();// 实例化上传类
$upload->maxSize = 3145728 ;// 设置附件上传大小
$upload->exts = array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型
$upload->rootPath = './Uploads/'; // 设置附件上传根目录
$upload->savePath = ''; // 设置附件上传(子)目录
// 上传文件
$info = $upload->upload();
if(!$info) {// 上传错误提示错误信息
$this->error($upload->getError());
}else{// 上传成功
$this->success('上传成功!');
}
}
上传类对图片文件的上传安全做了支持,如果企图上传非法的图像文件,系统会提示 非法图像文件。 为了更好的使用上传功能,建议你的服务器开启finfo模块支持
上传参数
在上传操作之前,我们可以对上传的属性进行一些设置,Upload类支持的属性设置包括:
属性描述
maxSize文件上传的最大文件大小(以字节为单位),0为不限大小
rootPath文件上传保存的根路径
savePath文件上传的保存路径(相对于根路径)
saveName上传文件的保存规则,支持数组和字符串方式定义
saveExt上传文件的保存后缀,不设置的话使用原文件后缀
replace存在同名文件是否是覆盖,默认为false
exts允许上传的文件后缀(留空为不限制),使用数组或者逗号分隔的字符串设置,默认为空
mimes允许上传的文件类型(留空为不限制),使用数组或者逗号分隔的字符串设置,默认为空
autoSub自动使用子目录保存上传文件 默认为true
subName子目录创建方式,采用数组或者字符串方式定义
hash是否生成文件的hash编码 默认为true
callback检测文件是否存在回调,如果存在返回文件信息数组
上面的属性可以通过两种方式传入:
实例化传入
我们可以在实例化的时候直接传入参数数组,例如:
$config = array(
'maxSize' => 3145728,
'rootPath' => './Uploads/',
'savePath' => '',
'saveName' => array('uniqid',''),
'exts' => array('jpg', 'gif', 'png', 'jpeg'),
'autoSub' => true,
'subName' => array('date','Ymd'),
);
$upload = new \Think\Upload($config);// 实例化上传类
关于saveName和subName的使用后面我们会有详细的描述。
动态赋值
支持在实例化后动态赋值上传参数,例如:
$upload = new \Think\Upload();// 实例化上传类
$upload->maxSize = 3145728;
$upload->rootPath = './Uploads/';
$upload->savePath = '';
$upload->saveName = array('uniqid','');
$upload->exts = array('jpg', 'gif', 'png', 'jpeg');
$upload->autoSub = true;
$upload->subName = array('date','Ymd');
上面的设置和实例化传入的效果是一致的。
上传文件信息
设置好上传的参数后,就可以调用Think\Upload类的upload方法进行附件上传,如果失败,返回false,并且用getError方法获取错误提示信息;如果上传成功,就返回成功上传的文件信息数组。
$upload = new \Think\Upload();// 实例化上传类
$upload->maxSize = 3145728 ;// 设置附件上传大小
$upload->exts = array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型
$upload->rootPath = './Uploads/'; // 设置附件上传根目录
$upload->savePath = ''; // 设置附件上传(子)目录
// 上传文件
$info = $upload->upload();
if(!$info) {// 上传错误提示错误信息
$this->error($upload->getError());
}else{// 上传成功 获取上传文件信息
foreach($info as $file){
echo $file['savepath'].$file['savename'];
}
}
每个文件信息又是一个记录了下面信息的数组,包括:
属性描述
key附件上传的表单名称
savepath上传文件的保存路径
name上传文件的原始名称
savename上传文件的保存名称
size上传文件的大小
type上传文件的MIME类型
ext上传文件的后缀类型
md5上传文件的md5哈希验证字符串 仅当hash设置开启后有效
sha1上传文件的sha1哈希验证字符串 仅当hash设置开启后有效
文件上传成功后,就可以使用这些文件信息来进行其他的数据操作,例如保存到当前数据表或者单独的附件数据表。
例如,下面表示把上传信息保存到数据表的字段:
$model = M('Photo');
// 取得成功上传的文件信息
$info = $upload->upload();
// 保存当前数据对象
$data['photo'] = $info[0]['savename'];
$data['create_time'] = NOW_TIME;
$model->add($data);
单文件上传
upload方法支持多文件上传,有时候,我们只需要上传一个文件,就可以使用Upload类提供的uploadOne方法上传单个文件,例如:
public function upload(){
$upload = new \Think\Upload();// 实例化上传类
$upload->maxSize = 3145728 ;// 设置附件上传大小
$upload->exts = array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型
$upload->rootPath = './Uploads/'; // 设置附件上传根目录
// 上传单个文件
$info = $upload->uploadOne($_FILES['photo1']);
if(!$info) {// 上传错误提示错误信息
$this->error($upload->getError());
}else{// 上传成功 获取上传文件信息
echo $info['savepath'].$info['savename'];
}
}
uploadOne方法上传成功后返回的文件信息和upload方法的区别是只有单个文件信息的一维数组。
上传文件的命名规则
上传文件的命名规则(saveName)用于确保文件不会产生冲突或者覆盖的情况。命名规则的定义可以根据你的业务逻辑来调整,不是固定的。例如,如果你采用时间戳的方式来定义命名规范,那么在同时上传多个文件的时候可能产生冲突(因为同一秒内可以上传多个文件),因此你需要根据你的业务需求来设置合适的上传命名规则。这里顺便来说下saveName参数的具体用法。
一、采用函数方式
如果传入的字符串是一个函数名,那么表示采用函数动态生成上传文件名(不包括文件后缀),例如:
// 采用时间戳命名
$upload->saveName = 'time';
// 采用GUID序列命名
$upload->saveName = 'com_create_guid';
也可以采用用户自定义函数
// 采用自定义函数命名
$upload->saveName = 'myfun';
默认的命名规则设置是采用uniqid函数生成一个唯一的字符串序列。
saveName的值支持数组和字符串两种方式,如果是只有一个参数或者没有参数的函数,直接使用字符串设置即可,如果需要传入额外的参数,可以使用数组方式,例如:
// 采用date函数生成命名规则 传入Y-m-d参数
$upload->saveName = array('date','Y-m-d');
// 如果有多个参数需要传入的话 可以使用数组
$upload->saveName = array('myFun',array('__FILE__','val1','val2'));
如果需要使用上传的原始文件名,可以采用__FILE__传入,所以上面的定义规则,最终的结果是 myFun('上传文件名','val1','val2')执行的结果。
二、直接设置上传文件名
如果传入的参数不是一个函数名,那么就会直接当做是上传文件名,例如:
$upload->saveName = time().'_'.mt_rand();
表示上传的文件命名采用时间戳加一个随机数的组合字符串方式。
当然,如果觉得有必要,你还可以固定设置一个上传文件的命名规则,用于固定保存某个上传文件。
$upload->saveName = 'ThinkPHP';
三、保持上传文件名不变
如果你想保持上传的文件名不变,那么只需要设置命名规范为空即可,例如:
$upload->saveName = '';
一般来说不建议保持不变,因为会导致相同的文件名上传后被覆盖的情况。
子目录保存
saveName只是用于设置文件的保存规则,不涉及到目录,如果希望对上传的文件分子目录保存,可以设置autoSub和subName参数来完成,例如:
// 开启子目录保存 并以日期(格式为Ymd)为子目录
$upload->autoSub = true;
$upload->subName = array('date','Ymd');
可以使用自定义函数来保存,例如:
// 开启子目录保存 并调用自定义函数get_user_id生成子目录
$upload->autoSub = true;
$upload->subName = 'get_user_id';
和saveName参数一样,subName的定义可以采用数组和字符串的方式。
注意:如果get_user_id函数未定义的话,会直接以get_user_id字符串作为子目录的名称保存。
子目录保存和文件命名规则可以结合使用。
上传驱动
上传类可以支持不同的环境,通过相应的上传驱动来解决,默认情况下使用本地(Local)上传驱动,当然,你还可以设置当前默认的上传驱动类型,例如:
'FILE_UPLOAD_TYPE' => 'Ftp',
'UPLOAD_TYPE_CONFIG' => array(
'host' => '192.168.1.200', //服务器
'port' => 21, //端口
'timeout' => 90, //超时时间
'username' => 'ftp_user', //用户名
'password' => 'ftp_pwd', //密码 ),
表示当前使用Ftp作为上传类的驱动,上传的文件会通过FTP传到指定的远程服务器。
也可以在实例化上传类的时候指定,例如:
$config = array(
'maxSize' = 3145728,
'rootPath' = './Uploads/',
'savePath' = '',
'saveName' = array('uniqid',''),
'exts' = array('jpg', 'gif', 'png', 'jpeg'),
'autoSub' = true,
'subName' = array('date','Ymd'),
);
$ftpConfig = array(
'host' => '192.168.1.200', //服务器
'port' => 21, //端口
'timeout' => 90, //超时时间
'username' => 'ftp_user', //用户名
'password' => 'ftp_pwd', //密码 );
$upload = new \Think\Upload($config,'Ftp',$ftpConfig);// 实例化上传类
目前已经支持的上传驱动包括Local、Ftp、Sae、Bcs、七牛和又拍云等。

4. php中上传文件的方法有多少种

一、传统的php写的上传类。
写一个php的上传类,这个方法用到的知识全部是php的,而且技术的难点也不多。
<form method="post" action="upload.php" enctype="multipart/form-data">
<table border=0 cellspacing=0 cellpadding=0 align=center width="100%">
<input type="hidden" name="MAX_FILE_SIZE" value="2000000">//隐藏域。这里name必须设置成MAX_FILE_SIZE,其值就是上传文件的最大长度,单位是B,这里我限制成2M
<input name="file" type="file" value="浏览" >
< input type="submit" value="上传" name="B1">
</table>
</form>

服务端利用php的$_FILES['file']['name']来获取文件后缀名,具体的代码自己查找资料看看,这里就不多说了。
总结;这个方法可以用来上传小于2M的文件或者是图片,基本的功能可以实现。
二、利用uploadify插件
这个是利用jQuery的上传插件,上传可以带进度条,容易配置。
总结:可以上传一些大文件,和图片,而且带进度条,可以多文件上传,在WEB中会经常用。
三、利用网络的webupload
WebUploader 是由 Bai FEX 团队开发的一款以 HTML5 为主,FLASH 为辅的现代文件上传组件。在现代的浏览器里面能充分发挥 HTML5 的优势,同时又不摒弃主流IE浏览器,沿用原来的 FLASH 运行时,兼容 IE6+,iOS 6+, Android 4+。采用大文件分片并发上传,极大的提高了文件上传效率。
四、swfupload的插件

这是一个jquery的上传插件,功能也非常强大,开发也比较容易,网上有很多的资料,可以自行查找。

5. phpcms鍓嶅彴镐庝箞涓娄紶鏂囦欢php濡备綍瀹炵幇鏂囦欢涓娄紶锷熻兘

phpcmsv9濡备綍涓娄紶鏂囩珷

phpcmsv9娓稿㈠湪钖庡彴鍙戝竷鏂囩珷锛屾病链変笂浼犻梼浠剁殑锷熻兘銆

娓稿㈠彂甯冩枃绔狅纴钖庢潵鍙戠幇娓稿㈠浘鐗囦笂浼犱笉浜嗐傛病链夐梼浠朵笂浼犲姛鑳斤纴钖庡彴璁剧疆涓哄厑璁告父瀹涓娄紶闄勪欢銆傜粨鏋滆缮鏄涓嶈屻傞櫎浜嗕慨鏀圭▼搴忥纴娌℃湁鍒镄勫姙娉曘傝ユ柟娉曞备笅:

phpcms鍐呭硅彶灏斿吂缂栬緫form.inc.php

鍙戠幇

娉ㄩ喷鎺夛纴//$allowupload=defined(IN_ADMINallowattachment

put$allowupload=1锛//杩愯岃块梾钥呬笂浼犻梼浠

杩椤厑璁告疮涓浜轰笂浼犻梼浠躲

浣嗘槸链変竴涓闂棰樸

浣犲彲浠ヤ笂浼犱箣钖庯纴閲岄溃杩樻湁锲惧簱鍜屾枃浠舵祻瑙堛傛垜涓嶆兂璁╃敤鎴风湅鍒板埆浜虹殑锲剧墖锛屾墍浠ュ湪杩欓噷淇鏀瑰备笅:

phpcms闄勪欢妯℃澘swfupload.tpl.php

锷犳敞閲

Tab_swf_3鍜4閮ㄥ垎灏卞熶简銆

铡诲仛钖с傚ソ浜嗭纴浣犲畬鎴愪简銆

cms2.0鐢佃剳涓婃庝箞璁剧疆锛

1銆佹墍链夋ā𨱒挎柟妗堥兘淇濆瓨鍦./phpcms/templates/鐩褰曚笅锛埚傛灉闇瑕佸湪绾夸慨鏀癸纴璇烽氲繃ftp灏呜ョ洰褰曡剧疆涓777锛屽苟搴旂敤鍒板瓙鐩褰曪级

2銆佺绣绔椤綋鍓崭娇鐢ㄧ殑妯℃澘鏂规堜负锛氶粯璁ゆā𨱒匡纴淇濆瓨璺寰勪负锛./phpcms/templates/default/锛屽叾浠栨ā𨱒挎柟妗堢殑鍙桦寲涓崭细褰卞搷缃戠珯鍓嶅彴镄勬樉绀恒

3銆佸傛灉闇瑕佸炲姞缃戠珯妯℃澘鏂规堬纴璇锋妸鏂扮殑妯℃澘鏂规堜笂浼犺呖./phpcms/templates/鐩褰

4銆佸傛灉闇瑕佸簲鐢ㄦ柊镄勭绣绔欐ā𨱒挎柟妗堬纴璇锋妸璇ユā𨱒挎柟妗堣剧疆涓虹郴缁熼粯璁ゆ柟妗堛

cms鏁版嵁搴撴庝箞璁剧疆锛

鍦‵TP涓鍙浠ヤ慨鏀圭殑銆

鍏蜂綋镄勬ラわ细

锏诲綍FTP镓惧埌浣犵殑锘熷悕镄勬枃浠跺す锛

镓揿紑e/锛屾帴镌镓揿紑config/锛

鍦ㄩ噷闱㈢殑config.php涓鍙浠ヤ慨鏀癸纴灏辨槸锛堜綘镄勫烟钖/e/config/config.php锛夎繖涓灏辨槸CMS镄勬暟鎹搴挞厤缃鏂囦欢锛

siteservercms镐庝箞瀹夎呭晩锛熸垜浼犵殑瀹夎呬笉浜嗗晩锛

棣栧厛鍦ㄦ湰鍦扮数鑴戜笂瑙e帇锛岃В铡嫔嚭𨱒ヤ袱涓鏂囦欢锛歩nstall_package鍜宺eadme,鐢╢tp杞浠跺皢install_package鏂囦欢澶圭殑镓链夋枃浠跺叏閮ㄤ笂浼犺呖绌洪棿锛岀劧钖庣洿鎺ュ湪娴忚埚櫒璁块梾浣犵殑锘熷悕锛屾垨鍦ㄦ祻瑙埚櫒杈揿叆浣犵殑锘熷悕/install/install.php,鍗冲彲鐪嫔埌瀹夎呯晫闱锛屽傛灉浣犱笉镡熸倝镄勫彲阃夋嫨鍏ㄦ柊瀹夎咃纴涓鐩寸偣鍑讳笅涓姝ワ纴杈揿叆浣犵殑鏁版嵁搴揿悕绉般佸瘑镰侊纴鍙婄$悊锻樼数瀛愰偖绠憋纴鍗冲彲瀹夎呮垚锷熴

热点内容
extjs文件上传java 发布:2024-11-13 06:22:49 浏览:692
电脑数据怎么备份到服务器 发布:2024-11-13 06:19:31 浏览:404
c语言函头文件 发布:2024-11-13 06:14:40 浏览:37
编译java程序的命令是什么 发布:2024-11-13 06:09:32 浏览:857
编译dll依赖另一个dll 发布:2024-11-13 06:09:25 浏览:124
祝编程老师 发布:2024-11-13 06:07:26 浏览:506
五格殿下编程 发布:2024-11-13 05:54:11 浏览:214
学生密码笔盒原始密码多少 发布:2024-11-13 05:30:06 浏览:770
android广播的注册 发布:2024-11-13 04:47:49 浏览:26
KTV上传视频 发布:2024-11-13 04:46:59 浏览:34