當前位置:首頁 » 文件傳輸 » php上傳文件夾
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

php上傳文件夾

發布時間: 2022-01-15 21:35:02

Ⅰ php中如何上傳整個文件夾里的所有文件

相當於多文件上傳!只有用插件!我現在用的是swfupload這個插件!還不錯!

Ⅱ php把文件上傳到文件夾以後,要怎麼調用出來呢,文件和圖片的調用方式一樣嗎

文件名用中文那就別拉著別人一起惡心了。伺服器的基本原則就是絕對不能出現中文文件名。
因為 Linux 下面普遍的文件名默認編碼都是 UTF-8 。但是很多情況下,壓縮包裡面的文件名都是當前系統的 IO 用字元編碼。而且解壓縮寫入文件時,很多軟體也都沒有提供文件名編碼轉換的問題。
結果就是出現問題。
現在,你要不然就是用你當前編碼去重新壓縮文件,當然,Windows 的編碼肯定不是 UTF8 ,只能是 Linux ,或者嘗試用英文版(不能是用語言包換成英文,必須是純英文版)。要不然就去用支持文件名編碼設置的壓縮協議去重新壓縮,不過具體有哪些支持我不清楚。
最後的一個辦法,那就是你自己寫解壓縮代碼,代碼里獲取文件名後自己轉換。

Ⅲ 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

$dbh->query($q_str);

if($dbh->num_rows()==1) echo "上傳成功,已經插入資料庫文件細節(加密)";
}

Ⅳ 求PHP上傳文件夾的三種解決方案

1 壓縮上傳(用戶把文件夾壓縮後上傳),
2 input里加這個屬性webkitdirectory就是默認可以上傳文件夾了。谷歌瀏覽器可以。其他瀏覽器好像不行
3 業務上進行優化 如:(上傳時還是上傳文件,但是需要填寫文件夾得名稱,上傳之後,後台根據文件夾名稱,自動創建文件夾)

Ⅳ php 上傳文件

剛學php時寫的一個類,可以給你參考下,你所說的功能基本上也都有。

這個用作學習還是不錯的。


<?php
classfileup{
private$savefilepath;//保存路徑
private$filetype=array('gif','jpg','jpeg','png');//文件類型
private$maxsize=1000000;//上傳最大的尺寸默認值設置為1M
private$savename=true;//是否默認隨機名稱
private$upfileform;//上傳文件表單的name值
//以下是不可以修改的成員屬性
private$tmpname;//上傳的臨時文件名
private$upfilename;//上傳文件的名稱
private$uperror;
private$newname;//新的文件名
//private$upfiletype;//上傳文件的類型
private$upfilesize;//上傳文件的大小。
private$filehz;//文件名的擴展名。

//構造方法
function__construct($upfileform,$savefilepath='./upload/'){
$this->upfileform=$upfileform;
$this->savefilepath=rtrim($savefilepath,'/');
$this->tmpname=$_FILES[$upfileform]['tmp_name'];
$this->upfilename=$_FILES[$upfileform]['name'];
$this->upfilesize=$_FILES[$upfileform]['size'];
$this->uperror=$_FILES[$upfileform]['error'];
$this->getnewname();
}
//設置文件上傳的參數,不設置為默認值。
functionsetfilepar($par){
$pars=array('filetype','maxsize','savename');
foreach($paras$key=>$value){
if(in_array($key,$pars)){
$this->$key=$value;
}else{
continue;
}
}
}
//檢查上傳
privatefunctioncheckfileup(){
//判斷文件夾是否正確或文件夾是否有可寫入的許可權。
if(!is_dir($this->savefilepath)||!is_writable($this->savefilepath)){
$this->uperror=8;
returnfalse;
}
//判斷文件名是否存在
if(is_file($this->newname)){
$this->uperror=9;
returnfalse;
}
//判斷上傳文件的類型是否正確。
if(!in_array(strtolower($this->filehz),$this->filetype)){
$this->uperror=-1;
returnfalse;
}
returntrue;
}
//獲取新的文件名字
privatefunctiongetnewname(){
$tmp=explode('.',$this->upfilename);
$this->filehz=$tmp[count($tmp)-1];
if(is_bool($this->savename)){
if($this->savename){
$this->newname=$this->savefilepath.'/'.date('YmdHis').rand(10000,99999).'.'.$this->filehz;
}else{
$this->newname=$this->savefilepath.'/'.$this->upfilename;
}
}else{
$this->newname=$this->savefilepath.'/'.$this->savename.'.'.$this->filehz;
}
}

//獲取錯誤信息
privatefunctiongetuperror(){
switch($this->uperror){
case1:echo'上傳文件超過了系統指定的大小';break;
case2:echo'上傳文件超過了表單中指定的大小';break;
case3:echo'文件只有部分上傳';break;
case4:echo'沒有文件上傳';break;
case6:echo'找不到上傳的文件,系統錯誤';break;
case7:echo'文件寫入失敗';break;
case8:echo'文件路徑不存在,或不可寫';break;
case9:echo'文件名已經存在,請不要重復上傳';break;
case-1:echo'不是指定上傳的文件';break;
case-2:echo'請勿使用非法途徑上傳';break;
case-3:echo'文件上傳失敗';break;
default:'未知錯誤';break;

}
}


functionfileupload(){
if(!$this->checkfileup()||$this->uperror!=0){
$this->getuperror();
returnfalse;
}else{
if(!is_uploaded_file($_FILES[$this->upfileform]['tmp_name'])){
$this->uperror=-2;
$this->getuperror();
returnfalse;
}else{
if(move_uploaded_file($_FILES[$this->upfileform]['tmp_name'],$this->newname)){
returntrue;
}else{
$this->uperror=-3;
returnfalse;
}
}
}
}
//獲取文件名
functiongetname(){
return$this->newname;
}


}

Ⅵ PHP中怎樣將上傳的圖片存入指定文件夾或目錄

使用範例:

if(!empty($_FILES["magfile"])){
$uploaddir=$_SERVER['DOCUMENT_ROOT']."/uploads/";
$uploaddir.="test.jpg";
if(move_uploaded_file($_FILES["magfile"]["tmp_name"],$uploaddir)){
echo"上傳成功!";
}else{
print_r($_FILES);
}
}

第一個參數是上傳到伺服器臨時文件夾的絕對路徑,$_FILES['文件域名稱']['tmp_name'];

第二個參數是需要放到伺服器上的絕對路徑+文件名。

Ⅶ php 上傳文件到指定文件夾

<formaction=""method="post"enctype="multipart/form-data">
<inputtype="file"name="img">
……
</form>

圖片接收頁面如下:

if(is_uploaded_file($_FILES['img']['tmp_name']))
{
//你可以加上,文件類型,大小等判斷
if(move_uploaded_file($_FILES['img']['tmp_name'],'你的目標路徑'))
{
//這就算上傳成功了
}
else
{
//上傳失敗了
}
}

Ⅷ php上傳文件到根目錄的某個文件夾中

文件夾B於文件夾A的相對路徑為 ../把/,對上傳文件進行move的時候寫好路徑就可以。