php上調用並上傳圖片說明,php 上傳圖片

本文目錄一覽:

PHP 如何上傳圖片和文字?

直接form表單加上上傳的屬性,在php那裡判斷下 $_FILE裏面的臨時文件是否存在,存在就遍歷,然後定義一個數組。把上傳到服務器端的臨時文件挪到指定位置,然後把路徑存到數組裏面,最終存到數據庫。就實現上傳了

php 異步上傳圖片幾種方法總結

代碼如下

form action=”upload.php” id=”form1″ name=”form1″ enctype=”multipart/form-data” method=”post” target=”uploadIframe” !–上傳圖片頁面 — /form iframe name=”uploadIframe” id=”uploadIframe” style=”display:none”/iframe

然後後台處理完上傳圖片邏輯後返回給前台,利用ajax修改當前頁面DOM對象實現無刷新上傳圖片的友好功能。

實例

代碼如下

a.html form enctype=”multipart/form-data” action=”a.php” target=”ifram_sign” method=”POST” input name=”submit” id=”submit” value=”” type=”hidden” label上傳文件: input name=”test_file” type=”file” id=”test_file” size=”48″/label input type=”image” value=”立即上傳” id=”submit_btn” /formiframe name=”ifram_sign” src=”” frameborder=”0″ height=”0″ width=”0″ marginheight=”0″ marginwidth=”0″/iframe

php代碼:

代碼如下

?php

if ($_files[“test_file”][“error”] 0)

{

echo “Error: ” . $_files[“test_file”][“error”] . “br /”;

}

else

{

//這裡的判斷圖片屬性的方法就不寫了。自己擴展一下。

$filetype=strrchr($_files[“test_file”][“name”],”.”);

$filetype=substr($filetype,1,strlen($filetype));

$filename=”img/”.time(“YmdHis”).”.”.$filetype;

move_uploaded_file($_files[“test_file”][“tmp_name”],$filename);

echo ‘script alert(1)/script’;

$return=”parent.document.getElementByIdx_x(‘mpic”.$pageset_id.”‘).innerhtml='”.$dataimgpath.”‘”;

echo “script alert(‘上傳成功’)/script”;

echo “script{$return}/script”;

}

?

其實jquery ajax圖片異步上傳

html:

!DOCTYPE html PUBLIC “-//W3C//dtd Xhtml 1.0 transitional//EN”

“”

html xmlns=”” lang=”en_US” xml:lang=”en_US”

head

title圖片異步上傳/title

/head

script type=”text/javascript” src=”js/jquery.js”/script

script type=”text/javascript” src=”js/index.js”/script

link type=”text/css” rel=”stylesheet” href=”css/index.css”

body

div class=”frm”

form name=”uploadFrom” id=”uploadFrom” action=”upload.php” method=”post” target=”tarframe” enctype=”multipart/form-data”

input type=”file” id=”upload_file” name=”upfile”

/form

iframe src=”” width=”0″ height=”0″ style=”display:none;” name=”tarframe”/iframe

/div

div id=”msg”

/div

/body

/html

index.js

$(function(){

$(“#upload_file”).change(function(){

$(“#uploadFrom”).submit();

});

});

function stopSend(str){

var im=”img src=’upload/images/”+str+”‘”;

$(“#msg”).append(im);

}

upload.php

?php

$file=$_files[‘upfile’];

$name=rand(0,500000).dechex(rand(0,10000)).”.jpg”;

move_uploaded_file($file[‘tmp_name’],”upload/images/”.$name);

//調用iframe父窗口的js 函數

echo “scriptparent.stopSend(‘$name’)/script”;

?

異步上傳圖片幾種方法

php中如何調用數據庫中的圖片並且顯示到頁面

php是採用二進制形式存儲圖片及讀取顯示的,首先通過代碼創建數據表,然後上傳圖片服務器再通過瀏覽器顯示,具體編程代碼舉例:

1、首先需要創建數據表,具體代碼如下圖所示。

2、然後寫上傳圖片到服務器的頁面 upimage.html用來將圖片上傳數據庫,如下圖所示代碼。

3、處理圖片上傳的php upimage.php文件,如下圖所示圖片已儲存到數據庫。

4、顯示圖片的php getimage.php文件,為了看一下效果提前把ID寫入代碼。

5、預覽網站從數據庫中提取了圖片,並顯示到頁面上。

php如何從數據庫中調用圖片

以下是大致的原理 你看看

在我們設計和製作網站的過程中,有時把圖片保存到數據庫中要比存成文件的形式更加方便。PHP和MySQL這對黃金組合可以很容易的實現上述功能。在本文中,我們將會向讀者介紹如何把圖片保存到MySQL數據庫中以及如何將數據庫中的圖片顯示出來。

設置數據庫

我們通常在數據庫中所使用的文本或整數類型的字段和需要用來保存圖片的字段的不同之處就在於兩者所需要保存的數據量不同。MySQL數據庫使用專門的字段來保存大容量的數據,數據類型為BLOB。

MySQL數據庫為BLOB做出的定義如下:BLOB數據類型是一種大型的二進制對象,可以保存可變數量的數據。BLOB具有四種類型,分別是TINYBLOB,BLOB, MEDIUMBLOB 和LONGBLOB,區別在於各自所能夠保存的最大數據長度不同。

在介紹了所需要使用的數據類型之後,我們可以使用以下語句創建保存圖象的數據表。

CREATE TABLE Images ( PicNum int NOT NULL AUTO_INCREMENT PRIMARY KEY, Image BLOB );

編寫上傳腳本

關於如何實現文件的上傳,我們在這裡就不再介紹了,感興趣的讀者可以參見「網頁陶吧」內的相關文章。現在,我們主要來看一下如何接收上傳文件並將其存入到MySQL數據庫中。具體的腳本代碼如下,其中我們假定文件上傳域的名稱為Picture。

?

If($Picture != “none”) { $PSize = filesize($Picture);

$mysqlPicture = addslashes(fread(fopen($Picture, “r”), $PSize));

mysql_connect($host,$username,$password) or die(“Unable to connect to SQL server”);

@mysql_select_db($db) or die(“Unable to select database”);

mysql_query(“INSERT INTO Images (Image) VALUES ‘($mysqlPicture’)”)

or die(“Can’t Perform Query”);

}

else

{ echo”You did not upload any picture”; }

?

這樣,我們就可以成功的把圖片保存到數據庫中。如果在將圖片插入MySQL的過程中出現問題,可以檢查一下MySQL數據庫所允許的最大數據包的大小。如果設置值過小的話,我們會在數據庫的錯誤日誌中找到相應的記錄。

下面,我們簡單說明一下上述腳本程序。首先,我們通過「If($Picture != “none”)」檢查是否有文件被上傳。然後,使用addslashes()函數避免出現數據格式錯誤。最後,連接MySQL,選擇數據庫並插入圖片。

顯示圖片

在知道了如何將圖片存入數據庫之後,我們就需要考慮怎樣才能從數據庫中取出圖片並在HTML頁面中顯示出來。這個過程要稍微複雜一些,下面我們就來介紹一下實現過程。

因為PHP顯示圖片需要發送相應的標頭,所以我們就會面臨這樣一個問題,那就是一次只能顯示一副圖片,因為我們無法在發出標頭之後再發送其它的標頭。

為了有效的解決這一問題,我們編寫了兩個文件。其中,第一個文件作為HTML頁面的模板,定位圖片的顯示位置。第二個文件則被用來從數據庫中實際輸出文件流,作為IMG標籤的SRC屬性。

第一個文件的簡單形式可以如下:

HTML

BODY

?

mysql_connect($host,$username,$password)

or die(“Unable to connect to SQL server”);

@mysql_select_db($db) or die(“Unable to select database”);

$result=mysql_query(“SELECT * FROM Images”) or die(“Can’t Perform Query”);

While($row=mysql_fetch_object($result)) {

echo “IMG SRC=\”Second.php3? PicNum=$row-PicNum\””;

}

?

/BODY

/HTML

當HTML頁面被瀏覽時,每顯示一副圖片就會調用一次Second.php3文件。當第二個文件被調用時會傳入相應的Picture ID,我們可以藉此從數據庫中取回對應的圖片並顯示。

Second.php3文件如下:

?

$result=mysql_query(“SELECT * FROM Images WHERE PicNum=$PicNum”)

or die(“Can’t perform Query”); $row=mysql_fetch_object($result);

Header( “Content-type: image/gif”); echo $row-Image;

?

如何用php調用圖片?

PHP調用?好的,如果是HTML的話很簡單(只需要img標記插入即可),那麼我回答一下PHP的載入吧,代碼如下:

// 設置圖片路徑

$path = ‘/tupian/1.jpg’;

// 獲取圖片信息

$imgInfo = getimagesize($path);

// 獲取圖片類型

$imgType = $imgInfo[2];

// 檢測圖片類型

switch ($imgType) {

    case 1: // gif

       // 採用gif方式載入

       $img = imagecreatefromgif($path);

       // 聲明文件為圖片類型

       header(‘Content-Type:image/gif;’);

       // 採用gif方式輸出

       imagegif($img);

       break;

    case 2: // jpg

       // 採用jpg方式載入

       $img = imagecreatefromjpeg($path);

       // 聲明文件為圖片類型

       header(‘Content-Type:image/jpeg;’);

       // 採用jpeg方式輸出

       imagejpeg($img);

       break;

    case 3: // png

       // 採用png方式載入

       $img = imagecreatefrompng($path);

       // 聲明文件為圖片類型

       header(‘Content-Type:image/png;’);

       // 採用png方式輸出

       imagepng($img);

       break;

    default:

       exit(‘圖片格式不支持!’);

}

// 銷毀圖片資源

imagedestroy($img);

// 刪除變量

unset($img);

以上若還有什麼不明白的,歡迎追問~

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/287310.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-23 13:08
下一篇 2024-12-23 13:08

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • PHP獲取301跳轉後的地址

    本文將為大家介紹如何使用PHP獲取301跳轉後的地址。301重定向是什麼呢?當我們訪問一個網頁A,但是它已經被遷移到了另一個地址B,此時若服務器端做了301重定向,那麼你的瀏覽器在…

    編程 2025-04-27
  • PHP登錄頁面代碼實現

    本文將從多個方面詳細闡述如何使用PHP編寫一個簡單的登錄頁面。 1. PHP登錄頁面基本架構 在PHP登錄頁面中,需要包含HTML表單,用戶在表單中輸入賬號密碼等信息,提交表單後服…

    編程 2025-04-27
  • PHP與Python的比較

    本文將會對PHP與Python進行比較和對比分析,包括語法特性、優缺點等方面。幫助讀者更好地理解和使用這兩種語言。 一、語法特性 PHP語法特性: <?php // 簡單的P…

    編程 2025-04-27
  • PHP版本管理工具phpenv詳解

    在PHP項目開發過程中,我們可能需要用到不同版本的PHP環境來試驗不同的功能或避免不同版本的兼容性問題。或者我們需要在同一台服務器上同時運行多個不同版本的PHP語言。但是每次手動安…

    編程 2025-04-24
  • PHP數組去重詳解

    一、array_unique函數 array_unique是php中常用的數組去重函數,它基於值來判斷元素是否重複,具體使用方法如下: $array = array(‘a’, ‘b…

    編程 2025-04-24
  • PHP導出Excel文件

    一、PHP導出Excel文件列寬調整 當我們使用PHP導出Excel文件時,有時需要調整單元格的列寬。可以使用PHPExcel類庫中的setWidth方法來設置單元格的列寬。下面是…

    編程 2025-04-24
  • php擴展庫初探

    一、什麼是php擴展庫? PHP擴展庫(PHP extension)是一些用C語言編寫的動態鏈接庫,用於擴展PHP的功能。PHP擴展庫使得PHP可以與各種數據庫系統相連、SMTP、…

    編程 2025-04-23

發表回復

登錄後才能評論