php上傳圖片函數
❶ php上傳圖片後怎麼將它顯示出來,用哪個函數 麻煩幫我寫一下 我將圖片存在upload裡面
在PHP腳本文件拿扒態加入:
echo '<img src="'.$file_photo.'" width="1200" height="1600" />';
//$file_photo=你想要顯示此畝出來的圖片文件地消源址!
❷ php5.2.5版本的$_FILES函數的用法
你圖片大小是多大的,php默認設置的上傳大小最多為2M,如果想要更多你需要到php.ini中設置
❸ php 實現上傳圖片至伺服器的函數
<form method=post action="upload.php" ENCTYPE="multipart/form-data">
<input type="file" name="upload_file">
<input type="submit" name="submit" value="上傳文件">
用PHP上傳時,需要對內容作詳細的檢查,例如是否容許讀寫文件,文件格式、文件大小是否在你指定的大小內等。
<?
$file_size_max = 1000000;
// 限制文件上傳最大容量(bytes)
$store_dir = "/public/www/upload/";
// 上傳文件的儲存位置
$accept_overwrite = true;
//允許讀寫文件
// 檢查文件大小
if ($upload_file_size > $file_size_max) {
echo "對不起,你的文件容量大於規定";
exit;
}
// 檢查讀寫文件
if (file_exists($store_dir . $upload_file_name) &&&& !$accept_overwrite) {
echo "文件已存在,不能再復制";
exit;
}
//復制文件到指定目錄
if (! @ ($upload_file,$store_dir . $upload_file_name)) {
echo "復制文件失敗";
exit;
}
echo "上傳文件完成";
?>
❹ php 編寫 實現上傳圖片至伺服器的函數
php上傳圖片客戶端和伺服器端實現方法分享給大家供大家參考。具體如下:
前台表單代碼
<form name="form1" method="post" action="admin_upfile.php" enctype="multipart/form-data">
<input type="file" name="pic">
<input type="submit" name="Submit" value="開始上傳" class="button">
</form>
後端php代碼
<?php
//這里上傳 $upsize判斷上傳文件的大小
$uppath = "/attached/"; //文件上傳路徑
//轉換根目錄的路徑
if (strpos($uppath, "/") == 0)
{
$i = 0;
$thpath = $_SERVER["SCRIPT_NAME"];
$thpath = substr($thpath, 1, strlen($thpath));
while (strripos($thpath, "/") !== false)
{
$thpath = substr($thpath, strpos($thpath, "/") + 1, strlen($thpath));
$i = ++$i;
}
$pp = "";
for ($j = 0; $j < $i; ++$j)
{
$pp .= "../";
}
$uppaths = $pp . substr($uppath, 1, strlen($thpath));
}
$filename = date("y-m-d");
if (is_dir($uppaths . $filename) != TRUE)
mkdir($uppaths . $filename, 0777);
$f = $_FILES['pic'];
if ($f["type"] != "image/gif" && $f["type"] != "image/pjpeg" && $f["type"] != "image/jpeg" && $f["type"] != "image/x-png")
{
echo "<script>alert('只能上傳圖片格式的文件');window.close()</script>";
return false;
}
//獲得文件擴展名
$temp_arr = explode(".", $f["name"]);
$file_ext = array_pop($temp_arr);
$file_ext = trim($file_ext);
$file_ext = strtolower($file_ext);
//新文件名
$new_file_name = md5(date("YmdHis")) . '.' . $file_ext;
echo $dest = $uppaths . $filename . "/" . date("ymdhis") . "_" .
$new_file_name; //設置文件名為日期加上文件名避免重復 上傳目錄
echo $dest1 = $uppath . $filename . "/" . date("ymdhis") . "_" .
$new_file_name; //設置文件名為日期加上文件名避免重復
$r = move_uploaded_file($f['tmp_name'], $dest);
?>
❺ php上傳圖片函數
if(!empty($uploadfile)){
$sql="insert into `tablename`(`pathname`) values('培螞襲配兄$uploadfile')"物純;
mysql_query($sql);
}
❻ php函數move_uploaded_file批量上傳問題
個人認為,不建議這樣寫上傳代碼
<?php
$Files=$_FILES['attachment'];
foreach($Filesas$file){//遍歷取得的數組
if(!empty($file['name'])){//如果文件名不為空,也就是跳過沒選擇文件的上傳
//這這里處理你是上傳
move_uploaded_file($file['tmp_name'],'你要保存的文件名稱和路徑');
}
}
php中,對數組的操作,用foreach循環最方便和合適,for循環顯然沒有那個方便
❼ php文件上傳,如何實現獨立的圖片伺服器的,該move_uploaded_file()函數能實現嗎
可以的。圖片也是文件的一種形式,主要上傳的時候注意限制文件的後綴為.jpg,.png等等,並使用move_uploaded_file把圖片轉蔽早移到伺服器中一個特定的文件夾中。為了方便集中管理這些圖片,可以建立一個資料庫,用一個數據表記錄該圖片的路徑、名余消稱、上傳日期、格式等等信息。訪問圖像的時候,就可以根據圖片的路徑豎並知獲得了。
❽ php 在多個上傳圖片時 怎麼獲取 要上傳的圖片寬高
分兩個部分,一個是「多個圖片」,一個是獲取圖片的寬、高。
第一個用循環做到,也就是用for、foreach之類的東西遍歷你從頁面中得到的圖片數組
下一步用getimagesize()函數獲得圖片的信息。
此函數在php手冊里有解釋:圖像生成與處理→GD→GD and image函數里。
此函數返回的結果如下:
返回一個具有四個單元的數組。索引 0 包含圖像寬度的像素值,索引 1 包含圖像高度的像素值。索引 2 是圖像類型的標記:1 = GIF,2 = JPG,3 = PNG,4 = SWF,5 = PSD,6 = BMP,7 = TIFF(intel byte order),8 = TIFF(motorola byte order),9 = JPC,10 = JP2,11 = JPX,12 = JB2,13 = SWC,14 = IFF,15 = WBMP,16 = XBM。這些標記與 PHP 4.3.0 新加的 IMAGETYPE 常量對應。索引 3 是文本字元串,內容為「height="yyy" width="xxx"」,可直接用於 IMG 標記。
❾ PHP上傳圖片函數源碼(重金懸賞)
<?
//$_FILES['myFile']['tmp_name'] 儲存的臨時文件名,一般是系統默認
//is_uploaded_file()判斷上傳是否有內容
if(is_uploaded_file($_FILES['banner']['tmp_name'])){
//$_FILES["banner"]把上傳的內容存到一個數組中,並復制給$upfile
$upfile = $_FILES["banner"];
//可以通過print_r($upfile);查看數據的詳細內容
$name = $upfile["name"];
$type = $upfile["type"];
$size = $upfile["size"];
$tmp_name = $upfile["tmp_name"];
$error = $upfile["error"];
//switch循環用來為變數$ok賦值,如果圖片的格式$type(實際上就是文件的擴展名)滿足格式要求(循環里的case就是用來控制格式),那麼$ok = 1,以便下邊程序進行判斷
switch($type){
case 'image/pjpeg': $ok = 1 ;
break;
case 'image/jpeg': $ok = 1 ;
break;
case 'image/gif': $ok = 1 ;
break;
case 'image/png': $ok = 1 ;
break;
}
if($ok&&$error=='0'){
//move_uploaded_file(臨時文件,目標位置和文件名)
move_uploaded_file($tmp_name,'../up/'.$name);
echo "恭喜!上傳成功";
}
if(!$ok){
echo "抱歉!文件格式不正確";
}
}
?>
<form action="" method="post" name="upform" enctype="multipart/form-data">
上傳文件:
<input type="file" name="banner" size="60" class="t_input" />
<input type="submit" name="submit" value="上傳"/>
</form>
/*FORM標簽enctype屬性
表單中enctype="multipart/form-data"的意思,是設置表單的MIME編碼。默認情況,這個編碼格式是application/x-www-form-urlencoded,不能用於文件上傳;只有使用了multipart/form-data,才能完整的傳遞文件數據
*/
❿ 如何使用php中ftp函數上傳文件以及解決上傳文件失敗的方法
因為系統重構實現均衡負載,網站程序與文件伺服器不在一台機子上。於是,程序在上傳文件的同時就要將文件上傳到文件伺服器上。
這里涉及到windows主機上傳到linux主機,linux主機上傳到linux主機。這兩個之間呢,只是稍微的有點區別,因為windows的路徑可以兼容linux路徑,但是linux的路徑不兼容windows主機'\\'的寫法。所以,在寫路徑的時候稍加註意即可。
下面,就列舉上面兩種情況php中使用ftp函數上傳文件的具體實現代碼。
一、 ftp上傳圖片參數說明。
$source:本機圖片完整的路徑。(/a/b/c.jpg)
$des :上傳目標linux主機完整的路徑。
$ftp_server:ftp地址
$ftp_user_name:ftp用戶名
$ftp_user_pass: ftp密碼
$port:埠
二、如何使用php中ftp函數上傳文件的方法
例如:
本地地址為:/a/b/c.jpg
目標地址為:/d/a/b/c.jpg
2.1、linux主機上傳linux主機。
function ftpSendFile($source,$des,$ftp_server,$ftp_user_name,$ftp_user_pass,$port)
{
// 此步驟是在於上傳目錄與本機的目錄不一致轉換使用
$des = "/d" . $des;
$conn_id = ftp_connect($ftp_server, $port) or die("Couldn't connect to $ftp_server");
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
ftp_pasv($conn_id, TRUE);
$ftp_folder = dirname($des);
$dir = explode("/", $ftp_folder);
$path = "";
for ($i = 0; $i < count($dir); $i++) {
$path .= "/" . $dir[$i];
if (!ftp_chdir($conn_id, $path)) {
$result = ftp_mkdir($conn_id, $path);
}
}
if (ftp_put($conn_id, $des, $source, FTP_BINARY)) {
return 1;
} else {
return 0;
}
ftp_close($conn_id);
}
2、windows主機上傳linux主機。
function sendPic($source,$des,$ftp_server,$ftp_user_name,$ftp_user_pass,$port)
{
$des = "/d" . $des;
$conn_id = ftp_connect($ftp_server, $port) or die("Couldn't connect to $ftp_server");
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
ftp_pasv($conn_id, TRUE);
$ftp_folder = dirname(str_ireplace('\\', '/', $des));
$dir = explode("/", $ftp_folder);
$path = "";
for ($i = 0; $i < count($dir); $i++) {
$path .= "/" . $dir[$i];
if (!ftp_chdir($conn_id, $path)) {
$result = ftp_mkdir($conn_id, $path);
}
}
if (ftp_put($conn_id, str_ireplace('\\', '/', $des), $source, FTP_BINARY)) {
return 1;
} else {
return 0;
}
ftp_close($conn_id);
}
上面的兩種使用php中ftp函數上傳文件的方法基本可以滿足正常的使用。