當前位置:首頁 » 文件管理 » thinkphp5圖片上傳

thinkphp5圖片上傳

發布時間: 2022-05-07 12:10:38

Ⅰ thinkphp如何實現圖片上傳

ThinkPHP里也有自帶的圖片上傳類(UploadFile.class.php) 和圖片模型類(Image.class.php)。方便於我們去實現圖片上傳功能。去看看手冊吧http://doc.thinkphp.cn/manual/upload.html

Ⅱ thinkphp 多圖上傳,如何把圖片路徑保存到資料庫

關於上傳文件:

推薦使用插件Uploadify!

使用方法:http://www.uploadify.com/documentation/

下載地址:http://www.uploadify.com/download/


關於多圖上傳:

  1. 在客戶端定義一個js變數,用於緩存每次非同步上傳圖片路徑;

  2. 最後提交表達數據的時候就把這些路徑集合保存到資料庫即可!

Ⅲ thinkphp上傳圖片如何檢驗尺寸

用getimagesize方法,如下示例:

HTML頁面

<!DOCTYPEhtml>
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>
<title>定義inputtype="file"的樣式</title>
<styletype="text/css">
body{font-size:14px;}
input{vertical-align:middle;margin:0;padding:0}
.file-box{position:relative;width:340px}
.txt{height:22px;border:1pxsolid#cdcdcd;width:180px;cursor:pointer;}
.btn{background-color:#FFF;border:1pxsolid#CDCDCD;height:24px;width:70px;cursor:pointer;}
.file{position:absolute;top:0;right:80px;height:24px;filter:alpha(opacity:0);opacity:0;width:260px;cursor:pointer;}
</style>
</head>
<body>
<divclass="file-box">
<formaction="test.php"method="post"enctype="multipart/form-data">
<inputtype='text'name='textfield'id='textfield'class='txt'/>
<inputtype='button'class='btn'value='瀏覽...'/>
<inputtype="file"name="fileField"class="file"id="fileField"size="28"onchange="document.getElementById('textfield').value=this.value"/>
<inputtype="submit"name="submit"class="btn"value="上傳"/>
</form>
</div>
</body>
</html>

PHP頁面:

<?php
echo"<pre>";
print_r($_FILES);
echo"<br/>";
$size=getimagesize($_FILES['fileField']['tmp_name']);
echo"<pre>";
print_r($size);
?>

demo效果示意圖

第二個輸出的數組有你需要的相關數據。

看看是否符合你的需求?若有疑問,歡迎追問!

Ⅳ ThinkPHP做照片上傳,怎麼直接選擇圖片後就直接上傳,而不是選擇圖片後,再點擊上傳按鈕

這個點擊後直接上傳 其實只是把點擊上傳按鈕給隱藏了 你需要加個事件

Ⅳ Thinkphp上傳多圖時怎麼規定上傳第幾個圖

感覺這挺簡單的,你只判斷那要上傳的拿張圖片的name,如果name不為空就上傳

1:publicfunctionuploadOne(){
if(isset($_FILES['第三個圖片的name'])){
$upload=newThinkUpload();//實例化上傳類
$upload->maxSize=3145728;//設置附件上傳大小
$upload->exts=array('jpg','gif','png','jpeg');//設置附件上傳類型
$upload->savePath='./Public/Uploads/';//設置附件上傳目錄
//上傳單個文件
$info=$upload->uploadOne($_FILES['photo1']);
if(!$info){//上傳錯誤提示錯誤信息
$this->error($upload->getError());
}else{//上傳成功獲取上傳文件信息
echo$info['savepath'].$info['savename'];
}
}
}

2:使用foreach循環遍歷出你存放name數組中的內容,在循環出的時候你可以添加判斷獲取第三
張圖片的name,然後上傳,,

建議使用第二中方法!!

Ⅵ thinkphp5 有自帶七牛上傳圖片的驅動嗎 有的話怎麼應用 !

七牛的上傳其實就很簡單
我舉例下七牛上傳配置

'qiniu'=>[
'maxSize'=>5*1024*1024,//文件大小
'rootPath'=>'./',
'saveName'=>['uniqid',''],
'driver'=>'Qiniu',
'driverConfig'=>[
'secretKey'=>'',
'accessKey'=>'',
'domain'=>'',
'bucket'=>'',
]
]
控制器處理
//實例化上傳類
$upload=newUpload(C('qiniu'));
$info=$upload->uploadOne($file);
$this->ajaxReturn($info);

這是上傳的處理
其實七牛的驅動裡面也是集成了很多
我們可以直接實例化七牛

$qiniu=newQiniuStorage(C('qiniu.driverConfig'));

看好實例化裡面的是七牛的配置文件 因為不是直接用的配置
然後就可以調用七牛的方法

$qiniu->SomeFunction();

更多問題可以去php中文網問答社區

Ⅶ 高分求thinkphp中設置xheditor圖片上傳詳細步驟。。。

  1. 先在頁面上面配置獲取網路配置文件地址:window.UEDITOR_CONFIG.serverUrl = xx;

  2. 後面的就是伺服器端了


  3. namespaceAdminController;
    useAdminServiceBaseService;

    {
    publicfunction_empty(){
    $action=I('get.action','','htmlspecialchars');
    $callback=I('get.callback');
    $result=null;
    switch($action){
    case'config':
    $result=json_encode($this->_Config());
    break;

    /*上傳圖片*/
    case'uploadimage':
    /*上傳塗鴉*/
    case'uploadscrawl':
    /*上傳視頻*/
    case'uploadvideo':
    /*上傳文件*/
    case'uploadfile':
    $result=$this->_Upload($action);
    break;

    /*列出圖片*/
    case'listimage':
    /*列出文件*/
    case'listfile':
    $result=$this->_list($action);
    break;
    /*抓取遠程文件*/
    case'catchimage':
    $result=$this->_crawler();
    break;

    default:
    $result=json_encode(array(
    'state'=>'請求地址出錯'
    ));
    break;
    }

    if(isset($_GET["callback"])){
    if(preg_match("/^[w_]+$/",$_GET["callback"])){
    echohtmlspecialchars($_GET["callback"]).'('.$result.')';
    }else{
    echojson_encode(array(
    'state'=>'callback參數不合法'
    ));
    }
    }else{
    echo$result;
    }
    }
    privatefunction_Config(){
    $CONFIG=json_decode(preg_replace("//*[sS]+?*//","",file_get_contents(APP_PATH.'Admin/Conf/config.json')),true);
    $CONFIG['imageMaxSize']=UPLOAD_IMAGE_SIZE;
    $CONFIG['scrawlMaxSize']=UPLOAD_IMAGE_SIZE;
    $CONFIG['catcherMaxSize']=UPLOAD_IMAGE_SIZE;
    $CONFIG['videoMaxSize']=UPLOAD_VIDEO_SIZE;
    $CONFIG['fileMaxSize']=UPLOAD_FILE_SIZE;
    $CONFIG['scrawlUrlPrefix']=ATTACH_URL;
    $CONFIG['imageUrlPrefix']=ATTACH_URL;
    $CONFIG['snapscreenUrlPrefix']=ATTACH_URL;
    $CONFIG['catcherUrlPrefix']=ATTACH_URL;
    $CONFIG['videoUrlPrefix']=ATTACH_URL;
    $CONFIG['fileUrlPrefix']=ATTACH_URL;
    $CONFIG['imageManagerUrlPrefix']=ATTACH_URL;
    $CONFIG['fileManagerUrlPrefix']=ATTACH_URL;
    return$CONFIG;
    }
    privatefunction_Upload($action){
    $config=$this->_Config();
    $up=newLibExtendUpload();
    $type='';
    switch($action){
    case'uploadimage':
    $fieldName=$config['imageFieldName'];
    $type='image';
    break;
    case'uploadscrawl':
    $fieldName=$config['scrawlFieldName'];
    $type='base64';
    break;
    case'uploadvideo':
    $fieldName=$config['videoFieldName'];
    $type='video';
    break;
    case'uploadfile':
    default:
    $fieldName=$config['fileFieldName'];
    $type='file';
    break;
    }
    if($type=='base64'){
    $result=$up->saveBase64($fieldName);
    }else{
    $result=$up->save($fieldName,$type);
    }
    returnjson_encode($result);
    }
    privatefunction_list($action){
    $config=$this->_Config();
    switch($action){
    /*列出文件*/
    case'listfile':
    $allowFiles=$config['fileManagerAllowFiles'];
    $listSize=$config['fileManagerListSize'];
    break;
    /*列出圖片*/
    case'listimage':
    default:
    $allowFiles=$config['imageManagerAllowFiles'];
    $listSize=$config['imageManagerListSize'];
    }
    $allowFiles=substr(str_replace(".","|",join("",$allowFiles)),1);

    /*獲取參數*/
    $size=isset($_GET['size'])?htmlspecialchars($_GET['size']):$listSize;
    $start=isset($_GET['start'])?htmlspecialchars($_GET['start']):0;
    $end=$start+$size;

    /*獲取文件列表*/
    $path=UPLOAD_PATH;
    $files=$this->_getfiles($path,$allowFiles);
    if(!count($files)){
    returnjson_encode(array(
    "state"=>"nomatchfile",
    "list"=>array(),
    "start"=>$start,
    "total"=>count($files)
    ));
    }

    /*獲取指定范圍的列表*/
    $len=count($files);
    for($i=min($end,$len)-1,$list=array();$i<$len&&$i>=0&&$i>=$start;$i--){
    $list[]=$files[$i];
    }
    returnjson_encode(array(
    "state"=>"SUCCESS",
    "list"=>$list,
    "start"=>$start,
    "total"=>count($files)
    ));
    }
    privatefunction_getfiles($path,$allowFiles,&$files=array()){
    if(!is_dir($path))returnnull;
    if(substr($path,strlen($path)-1)!='/')$path.='/';
    $handle=opendir($path);
    while(false!==($file=readdir($handle))){
    if($file!='.'&&$file!='..'){
    $path2=$path.$file;
    if(is_dir($path2)){
    $this->_getfiles($path2,$allowFiles,$files);
    }else{
    if(preg_match("/.(".$allowFiles.")$/i",$file)){
    $files[]=array(
    'url'=>substr($path2,strlen(UPLOAD_PATH)),
    'mtime'=>filemtime($path2)
    );
    }
    }
    }
    }
    return$files;
    }
    privatefunction_crawler(){
    $config=$this->_Config();
    $fieldName=$config['catcherFieldName'];
    $up=newLibExtendUpload();
    $source=I($fieldName);
    $result=array();
    foreach($sourceas$imgUrl){
    $item=$up->saveRemote($imgUrl);
    array_push($list,array(
    "state"=>$item["state"],
    "url"=>$item["url"],
    "size"=>$item["size"],
    "title"=>htmlspecialchars($item["title"]),
    "original"=>htmlspecialchars($item["original"]),
    "source"=>htmlspecialchars($imgUrl)
    ));
    }
    returnjson_encode($result);
    }

    }

Ⅷ Thinkphp圖片上傳中的savename怎麼設置

savename是保存文件的命名規則,你要保證每次上傳的時候圖片命名不同就可以了,比如用時間time()或者用圖片hash碼等。

Ⅸ ThinkPHP中圖片最多一次上傳20張,怎麼上傳更多圖片

$User->fenxiang_fm = 'Uploads/'.$info[0]["savename"]; // 這里的$info[0]["savename"]的下標[0]表示上傳的第1個圖片按順序,記住是下標
$User->fenxiang_sc = 'Uploads/'.$info[1]["savename"]; // 這里的$info[1]["savename"]的下標[1]表示上傳的第2個圖片按順序,記住是下標

function upload(){

import("ORG.Net.UploadFile");

$upload = new UploadFile();// 實例化上傳類

$upload->maxSize = 3145728 ;// 設置附件上傳大小

$upload->allowExts = array('jpg', 'gif', 'png', 'jpeg');// 設置附件上傳類型

$upload->saveRule = time;//這里的時間是根據上傳的圖片的多少來自動改變圖片的名稱的(並且時間都不同,所以上傳的圖片的名稱就不會相同)

熱點內容
hp存儲擴容 發布:2024-11-17 23:29:16 瀏覽:569
在ftp中put表示什麼 發布:2024-11-17 23:29:12 瀏覽:383
mvc多文件上傳 發布:2024-11-17 23:13:56 瀏覽:155
玩游戲硬碟緩存32m 發布:2024-11-17 23:03:42 瀏覽:525
藍光存儲系統 發布:2024-11-17 23:03:41 瀏覽:436
地平線4提示配置低於最低怎麼辦 發布:2024-11-17 22:54:38 瀏覽:611
注冊銀行卡賬戶密碼填什麼 發布:2024-11-17 22:54:35 瀏覽:537
java壓縮上傳圖片 發布:2024-11-17 22:26:59 瀏覽:627
plc編程課件 發布:2024-11-17 22:18:23 瀏覽:469
我的世界伺服器信號一直在檢測 發布:2024-11-17 22:09:52 瀏覽:547