本文目录一览:
- 1、php上传文件到根目录的某个文件夹中
- 2、php配置文件中的文件上传临时目录必须写指定路径吗
- 3、php实现文件上传到指定文件夹,文件路径或名字存入数据库,如何实现啊?
- 4、php 上传文件到指定文件夹
- 5、php怎样实现一个file的input,添加,上传多个文件到指定的路径
php上传文件到根目录的某个文件夹中
上传文件的函数move_uploaded_file(filename, 路径)
但是你所说的要写个方法
public function uplaodefiles($file = array(), $uploads_dir ="/uploads")
{
if(!empty($file)){
$tmp_name = $file["pictures"]["tmp_name"][$key];
$name = $file["pictures"]["name"][$key];
move_uploaded_file($tmp_name, "$uploads_dir/$name");
return $uploads_dir."/".$name;
}
}
使用的时候:
uplaodefiles($_FILES,“/a”)
php配置文件中的文件上传临时目录必须写指定路径吗
不用,但是要必须指定上传的路径。
文件被上传后,默认地会被储存到服务端的默认临时目录中。
你可以通过php.ini
中的
upload_tmp_dir
设置这个目录。
php实现文件上传到指定文件夹,文件路径或名字存入数据库,如何实现啊?
define(UPLOAD_ROOT,'你的上传文件夹路径');
function fake_random_name($string,$key){
#伪代码 随便根据用户名和上传时间生成一个伪随机的文件名作为上传以后的用户名
#但解码的条件是可以根据文件名判断出文件所有者的用户名和上传时间
#需要从数据库取出用户的密匙 才能进行解密 密匙是用户名的前5个字符
#具体加密解密的代码实现 请参照PHP标准扩展库 Mcrypt扩展下的N种方法
return $fake_random_name;
}
if(!is_writbale(UPLOAD_ROOT)){
die('you need chown the dir for your uploading file,make it writable~');
}else{
move_uploaded_file($_FILES['POST过来的表单名']['tmp_name'];
/*
* 这个方法会自动调用is_upload_file()方法 检测是否是合法的http rfc1867协议上传的文件
* 当然了 你也可以限制是否是你需要的合法文件类型 $_FILE[$_POST[name]][type] 比如是否是pdf img文件 都可以
*/
$dbh = new mysqli('localhost','root','sa','your_db_name');#生成中可以include进来 DSN放到根目录以外去 保护连接文件
$sec_key = substr($_SESSION['loginname'],0,5);
#密匙
$file_name = fake_random_name($_FILES['POST过来的表单名']['tmp_name'],$sec_key);
#加密后的名字
$q_str = "insert into tb(owner,location)values($_SEESION['loginname'],UPLOAD_ROOT.DIRECTORYSLASH.$file_name))";/SQL-php上传文件到指定路径
$dbh-query($q_str);
if($dbh-num_rows()==1) echo "上传成功,已经插入数据库文件细节(加密)";
}
php 上传文件到指定文件夹
form action="" method="post" enctype="multipart/form-data"
input type="file" name="img"
……
/form
图片接收页面如下:
if(is_uploaded_file($_FILES['img']['tmp_name']))
{
//你可以加上,文件类型,大小等判断
if(move_uploaded_file($_FILES['img']['tmp_name'], '你的目标路径'))
{
//这就算上传成功了
}
else
{
//上传失败了
}
}
php怎样实现一个file的input,添加,上传多个文件到指定的路径
$File = $_FILES['filenames'];
foreach( $File['name'] as $Key = $FileName ) {
$FileNames = $FileName; //上传的文件名
$FileTypes = $File['type'][$Key];//上传的文件类型
$FileSize = $File['size'][$Key];//上传的文件大小
$FileTmps = $File['tmp_name'][$Key]; //上传的文件副本
//其他同理
//文件处理方式和单文件一样了
}
php上传后, $_FILES本身就是个数组, 单文件上传的时候是二维数组, 多文件上传后, 就是三维数组了
唯一的区别要做的, 就是用foreach循环遍历一次, 在循环内进行操作, 即可!其他没是差别