Ⅰ 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 上傳中修改擴展名jpeg改jpg
你的filename是MemberUploads這個方法生成出來的
你不貼MemberUploads這個方法的代碼,怎麼幫你。。。
實際上,要把jpeg的圖片改為jpg格式,只是改一下後綴名而已,不需要重繪圖片
也就是說只要那個filename生成出來,路徑里邊那個文件的後綴是jpg就可以了~不需要額外的操作
也許這樣也可以。。。
$filename=MemberUploads('imgfile'.$i,'',$cfg_ml->M_ID,'image','',0,0,true);
if(false!=stripos($filename,'.jpeg')){
$filename=str_ireplace('.jpeg','.jpg',$name);
}
Ⅲ PHP程序文件的擴展名通常使用
php。
文件中的.php擴展名被稱為PHP源代碼文件,而這些文件PHP實現動態Web頁面的交互功能。
PHP文件的內容是一組超文本預處理器的代碼,可以讓網頁來收集由觀眾輸入的信息,處理該數據,將其存儲到指定的伺服器的資料庫和檢索來自Web伺服器的特定資料庫的細節。
Ⅳ 用PHP開發擴展名是什麼
PHP文件的擴展名為.php
Ⅳ php 驗證上傳的文件類型為圖片,並獲得文件的後綴名
以下是我上傳了一個圖片後顯示的 $_FILES['filename']的信息
[filename] => Array
(
[name] => Winter.jpg
[type] => image/jpeg
[tmp_name] => /tmp/php2jw7QX
[error] => 0
[size] => 105542
)
其中type是文件類型的minitype 表示方法,例如普通的HTML的類型是text/html
如果你想用擴展名的方式判斷的話可以用以下代碼:
<?php
#允許的文件擴展名
$allowed_types = array('jpg', 'gif', 'png');
$filename = $_FILES['filename']['name'];
#正則表達式匹配出上傳文件的擴展名
preg_match('|\.(\w+)$|', $filename, $ext);
#print_r($ext);
#轉化成小寫
$ext = strtolower($ext[1]);
#判斷是否在被允許的擴展名里
if(!in_array($ext, $allowed_types)){
die('不被允許的文件類型');
}
?>
Ⅵ php 上傳中修改擴展名jpeg改jpg
你查看一下這個變數是哪兒定義的
$filename
在這個變數定義的部分修改即可,我看了你這方法,$filename突然在最後面就出現了(不知道是你這方法缺了,還是一個全局變數),現在$filename是不在這個方法里頭的!
註:這方法里頭組裝後的路徑為:$cfg_basedir.$filename($filename應該是文件名以及後綴,你修改這個$filename的定義部分就可以)
Ⅶ php中怎麼取的上傳文件的擴展名
查上傳文件名,strrchr 用這個函數截取最後一個.到最後的子字元串,就是擴展名了
Ⅷ php上傳文件是,判斷是否csv文件的文件類型怎麼寫
$_FILES接收到文件信息是個數組。
其中$_FILES['myFile']['name']客戶端文件的原名稱,
您用『.』來分割$_FILES['myFile']['name']分成一個索引數組,這個數組的最後一個值就是文件的擴展名。
或者你從最後一個「.」位置截取$_FILES['myFile']['name'],截取到最後。得到的結果也是文件的擴展名;
$_FILES['myFile']['type']得到的是文件的 MIME類型,這個並不能很好的反映文件的擴展名,
例如:
MIME類型為「text/html」,這個類型對應.html .htm .stm三種文件擴展名
MIME類型為「text/plain」,對應的是.c .txt .h .bas四種文件擴展名
Ⅸ php上傳圖片沒有文件名後綴
$filename = basename($_FILES['image']['name']);
$file_ext = strtolower(substr($filename, strrpos($filename, '.') + 1));
echo $file_ext;
請樓主先試試用這幾句看是否能獲取到後綴名
一般來說,即使系統沒有顯示後綴名,在php上傳中也是可以獲取到後綴名的
還有,就是要檢查一下,move_uploaded_file函數里,目標地址的圖片名稱是否拼接了後綴名
Ⅹ php獲取上傳文件擴展名$filename= md5(time().rand(0,9).$_FILES["filedata"]["name"]).".bmp";
$filename=md5(time().rand(0,9).$_FILES["filedata"]["name"]).'.'.pathinfo($_FILES["filedata"]["name"],PATHINFO_EXTENSION);