php图片上传函数
原理都一样,循环接参,你打印一下它的参数就够就明白了,存储数据库,可以将图片路径之间用|或者逗号,或者json 系列化来存储:
<?php
print_r($_FILES);//你可以打印一下它,看看它的结构
if(!empty($_FILES)){
foreach($_FILES['file']['name']as$k=>$v){
//$_FILES["file"]都变成$_FILES["file"][$k]操作进行操作吧
if($_FILES['file'][$k]['error']==0){
$filetype=array("jpg","JPG");
$arr=explode(".",$_FILES["file"][$k]["name"]);
...//同样的代码
}
}
}
?>
<formname=""action=""method="post"enctype="multipart/form-data">
<inputtype="file"name="file[]"/><br/>
<inputtype="file"name="file[]"/><br/>
<inputtype="file"name="file[]"/><br/>
<inputtype="file"name="file[]"/><br/>
<inputtype="file"name="file[]"/><br/>
<inputtype="file"name="file[]"/><br/>
<inputtype="submit"name="a"value="提交"/>
</form>
㈡ php 在多个上传图片时 怎么获取 要上传的图片宽高
分两个部分,一个是“多个图片”,一个是获取图片的宽、高。
第一个用循环做到,也就是用for、foreach之类的东西遍历你从页面中得到的图片数组
下一步用getimagesize()函数获得图片的信息。
此函数在php手册里有解释:图像生成与处理→GD→GD and image函数里。
此函数返回的结果如下:
返回一个具有四个单元的数组。索引 0 包含图像宽度的像素值,索引 1 包含图像高度的像素值。索引 2 是图像类型的标记:1 = GIF,2 = JPG,3 = PNG,4 = SWF,5 = PSD,6 = BMP,7 = TIFF(intel byte order),8 = TIFF(motorola byte order),9 = JPC,10 = JP2,11 = JPX,12 = JB2,13 = SWC,14 = IFF,15 = WBMP,16 = XBM。这些标记与 PHP 4.3.0 新加的 IMAGETYPE 常量对应。索引 3 是文本字符串,内容为“height="yyy" width="xxx"”,可直接用于 IMG 标记。
㈢ php 实现上传图片至服务器的函数
<form method=post action="upload.php" ENCTYPE="multipart/form-data">
<input type="file" name="upload_file">
<input type="submit" name="submit" value="上传文件">
用PHP上传时,需要对内容作详细的检查,例如是否容许读写文件,文件格式、文件大小是否在你指定的大小内等。
<?
$file_size_max = 1000000;
// 限制文件上传最大容量(bytes)
$store_dir = "/public/www/upload/";
// 上传文件的储存位置
$accept_overwrite = true;
//允许读写文件
// 检查文件大小
if ($upload_file_size > $file_size_max) {
echo "对不起,你的文件容量大于规定";
exit;
}
// 检查读写文件
if (file_exists($store_dir . $upload_file_name) &&&& !$accept_overwrite) {
echo "文件已存在,不能再复制";
exit;
}
//复制文件到指定目录
if (! @ ($upload_file,$store_dir . $upload_file_name)) {
echo "复制文件失败";
exit;
}
echo "上传文件完成";
?>
㈣ PHP上传图片并把图片地址写入表单中!
其实要保存上传的图片地茄察并址并不需要专颤迹门地一个input表单项,只没并要在这个form提交到的后台页面里面做相应处理即可。
你可在后台的表单处理页面里面查找 move_uploaded_file() 这个函数,它的第一个参数是图片的临时文件名,第二个参数是即将保存的地址。只要把这第二个参数保存到数据库即可满足您的要求,并不需要从表单提交一个图片过来再保存。
㈤ ThinkPHP3.2.3 上传图片到ftp,同时生成缩略图。
ThinkPHP上传文件类:
$upload = new ThinkUpload($config);// 实例化上传类
使用这个。
如要处理图片大小。需要另外调用图像处理:
裁剪图片
$image=newThinkImage();
$image->open('./1.jpg');
//将图片裁剪为400x400并保存为corp.jpg
$image->crop(400,400)->save('./crop.jpg');
居中裁剪
$image=newThinkImage();
$image->open('./1.jpg');
//生成一个居中裁剪为150*150的缩略图并保存为thumb.jpg
$image->thumb(150,150,ThinkImage::IMAGE_THUMB_CENTER)->save('./thumb.jpg');
㈥ input file用了multiple属性 而且选择了多张图片 PHP该怎么上传
其实就那两个函数
is_uploaded_file()和move_uploaded_file()
是循环上传的。你打印下$_FILES这个超全局数组就明白了。下面我的测试代码上传图片的:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题</title>
</head>
<body>
<form action="test.php" method="post" enctype="multipart/form-data">
<input type="file" id="f" name="images[]" multiple="true" style="border:1px solid red" />
<input type="submit" value="提交" />
</form>
</body>
</html>
<?php
$path=$_SERVER['DOCUMENT_ROOT'].'test2/';
if(!empty($_FILES)){
echo "aaaa";
if(is_uploaded_file($_FILES['images']['tmp_name'][0])){
echo "1111";
exit;
}
foreach($_FILES['images']['tmp_name'] as $k=>$v){
if(is_uploaded_file($_FILES['images']['tmp_name'][$k])){
$save=$path.$_FILES['images']['name'][$k];
echo $save."<br>";
if(move_uploaded_file($_FILES['images']['tmp_name'][$k],$save)){
echo "上传成功!";
}
}
}
echo "<pre>";
print_r($_FILES);
echo "</pre>";
}
?>
㈦ thinkphp3.2上传图片如何进行封装
把你的上传部分写在function.php或者继承的父级控制器就行。
如:
/*文件上传*/
function_uploads($savePath='/Picture/'){
$upload=newThinkUpload();
$upload->maxSize=3*1024*1024;//设置附件上传大小
$upload->exts=array('jpg','gif','png','jpeg','bmp');//设置附件上传类型
$upload->autoSub=true;//自动子目录保存文件
$upload->subName=array('date','Y-m-d');//子目录创建方式
$upload->saveName=array('uniqid','');//上传文件命名规则,唯一性
$upload->rootPath='./Uploads/';//设置附件上传根目录
$upload->savePath=$savePath;//设置附件上传(子)目录
//上传文件
$info=$upload->upload();
return$info;
}
//此处方法调用
publicfunctionupFile(){
$file=_uploads('/Picture/');//里面可填写子目录文件路径,支持多文件上传
if($file){
$img=M('img');
//...此处添加所需逻辑处理
foreach($fileas$v){
//...此处添加所需逻辑处理
//拼接图片地址用于保存数据库
$dataImg['url']='/Uploads'.$v['savepath'].$v['savename'];//根据需求拼接路径,也可在/Uploads前拼成根路径加上项目名称
$img->add($dataImg);
}
}
}