當前位置:首頁 » 編程語言 » php圖片類型

php圖片類型

發布時間: 2022-12-10 08:59:04

php上傳bmp圖片類型問題

imagecreatefromwbmp() 這個函數 不能針對bmp文件操作,因為兩個根本不是什麼相似的文件類型。

php5版本還沒有 imagecreatefrombmp() 這個函數(是bmp不是wbmp)
所以無法創建bmp圖像。

所以那啥,要麼你自己寫一個imagecreatefrombmp()進行擴展。
要麼就源文件上傳。

㈡ PHP怎麼轉換圖片格式

用下面代碼(PHP必須支持GD庫)
$input=上傳的BMP文件名
$output=要存的jpeg文件名
$image=imagecreatefromwbmp($input);
imagejpeg($image,$output);
imagedestroy($image);
unlink($input);
用GD庫還可以加水印、改大小等,網上都有,一搜就行。我是按照PHP手冊
你可以去後盾人平台看一下,裡面的東西不錯

㈢ php轉換圖片類型

客戶端通過html裡面的input name="apic" type="file"表單form提交這個圖片,在服務端通過$_FILES['apic']得到圖片信息後,檢測圖片的格式是否為所允許的(*.bmp,*.jpg),檢測OK後進行圖片的壓縮轉存後,在資料庫存上新生成的jpg的圖片路徑地址;
其中壓縮圖片的辦法給你發一種:
http://code.itlearner.com/php/bmp.html
看看這個壓縮bmp的類,即學即用。

㈣ 如何用php調用圖片

寫個復雜點的答案,有些場合要用到。見笑

<?php
header('Content-Type:image/jpeg');
$data=file_get_contents('/tupian/1.jpg');
echo$data;
?>

㈤ 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 圖片類型判斷 生成

你的代碼不是都寫好的嗎,你在程序裡面echo $file_type ;分別上傳jpg、gif等圖片,看看輸出的類型的編碼是什麼,然後在程序裡面分別判斷即可,例如:

if ( $file_type == '???測試中看見的結果???') $img_r = imagecreatefromjpeg($src);
elseif ( $file_type == '???測試中看見的結果???') $img_r = imagecreatefromgif($src);

我的程序是使用的下面的方式檢測文件類型,並且修正擴展名:
$tmp_name=$_FILES["$f_image"][tmp_name];
$imginfo=getimagesize($tmp_name);
//壓縮寬度超過1024的圖片為1024,100K以上的JPG圖片用30%進行壓縮
if ($imginfo[0]>1024){
echo "你上傳的圖片幅面為 $imginfo[0] x $imginfo[1] ,將被壓縮到1024個象素寬。<br>";
system('"C:\Program Files\ImageMagick-6.0.7-Q16\convert.exe"'." -sample 1024 -quality 80 $tmp_name $tmp_name");
} elseif($imginfo[2]==2 && $src_size>102400) system('"C:\Program Files\ImageMagick-6.0.7-Q16\convert.exe"'." -quality 60 $tmp_name $tmp_name");
//規范化圖片文件擴展名
if ($imginfo[2]==1) $ext='gif';
elseif ($imginfo[2]==2) $ext='jpg';
elseif ($imginfo[2]==3) $ext='png';
elseif ($imginfo[2]==4) $ext='swf';
elseif ($imginfo[2]==5) $ext='psd';
elseif ($imginfo[2]==6) $ext='bmp';
elseif ($imginfo[2]==7) $ext='tiff';
elseif ($imginfo[2]==8) $ext='tiff';
//壓縮BMP、TIFF文件為JPG格式
if ($imginfo[2]==6 || $imginfo[2]==7 || $imginfo[2]==8){
system('"C:\Program Files\ImageMagick-6.0.7-Q16\convert.exe"'." -quality 80 $tmp_name $tmp_name.jpg");
rename("$tmp_name.jpg",$tmp_name);
$ext='jpg';
}

㈦ 用php上傳圖片怎麼做

上傳圖片原理:首先判斷文件類型是否為圖片格式,若是則上傳文件,然後重命名文件(一般都是避免上傳文件重名,現在基本上都是以為時間來命名),接著把文件上傳到指定目錄,成功上傳後輸出上傳圖片的預覽。

1.首先我們開始判斷文件類型是否為圖片類型用到的函數

{
strrchr:查找字元串在另一個字元串中最後一次出現的位置,並返回從該位置到字元串結尾的所有字元。
substr: 取部份字元串。
$HTTP_POST_FILES['file']['name']:獲取當前上傳的文件全稱。
}
圖片類型就是「.」後面的字元(比如:一個文件名稱為XXX.JPG 那麼它的類型就是「.」後面的JPG)。 我們可以用PHP中的函數來截取上傳者文件名字的。我們來寫個獲取文件類型的函數

<?
function type()
{
return substr(strrchr($HTTP_POST_FILES['file']['name'],'.'),1);
}
?>
2.若是則上傳文件,然後重命名文件用到的函數

{ strtolower:把字元串的字母全部轉換為小寫字母. in_array: 函數在數組中搜索給定的值。 implode:函數把數組元素組合為一個字元串 random:隨機生成的數 $_FILES['userfile']['name']:上傳文件名稱 $uploaddir:自己定義的變數。比如在同一個文件夾裡面,你想把上傳的文件放到這個文件夾的FILE文件夾下,你可以這樣定義$uploaddir="./file/";注意寫法 } 這邊會出現很多問題,第一先寫一個能上傳類型的數組。第二判斷文件合法性。第三給文件重名。*(這邊判斷文件大小就不寫了)先定義允許上傳文件的類型數組:$type=array("jpg","gif","bmp","jpeg","png");第二用一個IF。。else。。寫一個判斷文件合法性的控制流語句。if(!in_arry(strtolower(type()),$type))//如果不存在能上傳的類型 { $text=implode('.',$type); echo "您只能上傳以下類型文件: ",$text,"<br>"; } 下面就是給他們重新命名了,else { $filename=explode(".",$_FILES['userfile']['name']);//把上傳的文件名以「.」好為准做一個數組。 $time=date("m-d-H-i-s");//去當前上傳的時間 $filename[0]=$time;//取文件名t替換 name=implode(".",$filename); //上傳後的文件名 $uploadfile=$uploaddir.$name;//上傳後的文件名地址 } 3.最後把文件上傳到指定目錄,成功上傳後輸出上傳圖片的預覽用到的函數{ move_uploaded_file:執行上傳文件 } if(move_uploaded_file($_FILES['userfile']['tmp_name'],$uploadfile)) { echo "<center>您的文件已經上傳完畢 上傳圖片預覽: </center><br><center><img src='$uploadfile'></center>"; echo"<br><center><a href='javascrīpt:history.go(-1)'>繼續上傳</a></center>"; } else { echo"傳輸失敗!"; }

㈧ 如何使用PHP實現圖像比較

<?php
/**
* 圖片相似度比較
*
* @version $Id: ImageHash.php 4429 2012-04-17 13:20:31Z jax $
* @author jax.hu
*
* <code>
* //Sample_1
* $aHash = ImageHash::hashImageFile('wsz.11.jpg');
* $bHash = ImageHash::hashImageFile('wsz.12.jpg');
* var_mp(ImageHash::isHashSimilar($aHash, $bHash));
*
* //Sample_2
* var_mp(ImageHash::isImageFileSimilar('wsz.11.jpg', 'wsz.12.jpg'));
* </code>
*/

class ImageHash {

/**取樣倍率 1~10
* @access public
* @staticvar int
* */
public static $rate = 2;

/**相似度允許值 0~64
* @access public
* @staticvar int
* */
public static $similarity = 80;

/**圖片類型對應的開啟函數
* @access private
* @staticvar string
* */
private static $_createFunc = array(
IMAGETYPE_GIF =>'imageCreateFromGIF',
IMAGETYPE_JPEG =>'imageCreateFromJPEG',
IMAGETYPE_PNG =>'imageCreateFromPNG',
IMAGETYPE_BMP =>'imageCreateFromBMP',
IMAGETYPE_WBMP =>'imageCreateFromWBMP',
IMAGETYPE_XBM =>'imageCreateFromXBM',
);

/**從文件建立圖片
* @param string $filePath 文件地址路徑
* @return resource 當成功開啟圖片則傳遞圖片 resource ID,失敗則是 false
* */
public static function createImage($filePath){
if(!file_exists($filePath)){ return false; }

/*判斷文件類型是否可以開啟*/
$type = exif_imagetype($filePath);
if(!array_key_exists($type,self::$_createFunc)){ return false; }

$func = self::$_createFunc[$type];
if(!function_exists($func)){ return false; }

return $func($filePath);
}

㈨ php判斷一個文件的類型是否為圖片格式(jpg gif png格式)用in array格式做

$kuozhan=array('jpg','gif','png');
$flag = 1; // 判斷上傳文件是否格式正確,正確則為1 , 有一個格式錯誤則0
// 循環,檢測格式是否錯誤

foreach($val['tmp_name'] as $key=>$us){
foreach($val['name'] as $key=>$ns){
$arr=pathinfo($val['name'][$key]);
if(!in_array($arr['extension'],$kuozhan)){
echo " 上傳失敗,格式錯誤!";
$flag = 0; // 格式有錯,flag為0

break;

}
}
}
// 上傳文件
if ($flag == 1) {
循環上傳文件

}

熱點內容
macpython3默認 發布:2025-01-21 11:58:26 瀏覽:261
芒果伺服器是什麼意思 發布:2025-01-21 11:57:54 瀏覽:40
微信聊天伺服器錯誤什麼意思 發布:2025-01-21 11:56:13 瀏覽:460
linuxtomcat不能訪問 發布:2025-01-21 11:47:11 瀏覽:393
刷新器需要什麼配置 發布:2025-01-21 11:09:28 瀏覽:972
jedis源碼 發布:2025-01-21 11:08:24 瀏覽:890
edm資料庫 發布:2025-01-21 11:05:54 瀏覽:371
QQ咋樣加密 發布:2025-01-21 11:05:45 瀏覽:163
紅帽伺服器的默認地址 發布:2025-01-21 11:04:15 瀏覽:981
編程中重命名 發布:2025-01-21 10:49:47 瀏覽:303