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);
}
}
}