當前位置:首頁 » 文件管理 » php上傳到圖片伺服器上

php上傳到圖片伺服器上

發布時間: 2022-09-05 04:17:31

1. php上傳圖片到伺服器的前端和php代碼

<?
require_once('../classfile/guid.class.php');

if(!isset($_FILES['imgFile'])){
echojson_encode(array("success"=>false,'msg'=>"NotgetImgfile"));
return;
}
$upfile=$_FILES['imgFile'];
$name=$upfile["name"];//上傳文件的文件名
$type=$upfile["type"];//上傳文件的類型
$size=$upfile["size"];//上傳文件的大小
$tmp_name=$upfile["tmp_name"];//上傳文件的臨時存放路徑
$error_cod=$upfile["error"];
if($error_cod>0){
echojson_encode(array("success"=>false,'msg'=>$error_cod));
}

$ext_file_name="";

switch($type){
case'image/pjpeg':
$okType=true;
$ext_file_name =".jpg";
break;
case'image/jpeg':
$okType=true;
$ext_file_name =".jpg";
break;
case'image/gif':
$okType=true;
$ext_file_name =".gif";
break;
case'image/png':
$okType=true;
$ext_file_name =".png";
break;
}

if(!$okType){
echojson_encode(array("success"=>false,'msg'=>"Notimage"));
return;
}
$web_root="D:".DIRECTORY_SEPARATOR."Easy2PHP5".DIRECTORY_SEPARATOR."webSiteJfz".DIRECTORY_SEPARATOR;

$photo_tmp_path=$web_root."img".DIRECTORY_SEPARATOR."userimg".DIRECTORY_SEPARATOR."temp";
$temp_file_name=creat_guid(0).$ext_file_name;
$photo_tmp_file_name=$photo_tmp_path.DIRECTORY_SEPARATOR.$temp_file_name;
$photo_tmp_file_scr="img".DIRECTORY_SEPARATOR."userimg".DIRECTORY_SEPARATOR."temp".DIRECTORY_SEPARATOR.$temp_file_name;
move_uploaded_file($tmp_name,$photo_tmp_file_name);


echojson_encode(array("success"=>true,'msg'=>"ok","file_name"=>$photo_tmp_file_name,"file_scr"=>$photo_tmp_file_scr));

//echojson_encode(array("success"=>false,'msg'=>json_encode($_FILES['imgFile'])));
return;

?>

guid.class.php//生成唯一的圖片文件名
<?
functioncreat_guid($long){
$uuid="";
if(function_exists('com_create_guid')){
$uuid=com_create_guid();
}else{
mt_srand((double)microtime()*10000);//optionalforphp4.2.0anp.
$charid=strtoupper(md5(uniqid(rand(),true)));
$hyphen=chr(45);//"-"
$uuid=chr(123)//"{"
.substr($charid,0,8).$hyphen
.substr($charid,8,4).$hyphen
.substr($charid,12,4).$hyphen
.substr($charid,16,4).$hyphen
.substr($charid,20,12)
.chr(125);//"}"
//return$uuid;
}
if(!isset($long)||$long==0){
returnsubstr($uuid,1,strlen($uuid)-2);
}else{
return$uuid;
}
}

2. php當中,圖片是上傳到伺服器好點還是資料庫

你理解錯了, 圖片只能上傳到伺服器,伺服器就是一台電腦,相當於你把這張圖片放在這個電腦的硬碟里,怎麼可能放入資料庫,放入資料庫的只是這個圖片的信息,如文件名。。。
因為只有這樣,你下次才能調用到你這次上傳的圖片,否則你根本就不知道你上傳的是哪張圖片,就無法調用這張圖片,上傳也就沒有意義了。

3. php如何上傳圖片到遠程伺服器

可以使用curl這個擴展來實現。
PHP 支持的由Daniel Stenberg創建的libcurl庫允許你與各種的伺服器使用各種類型的協議進行連接和通訊。
libcurl支持http、https、ftp、gopher、telnet、dict、file和ldap協議。libcurl同時也支持HTTPS認證、HTTP POST、HTTP PUT、 FTP 上傳(這個也能通過PHP的FTP擴展完成)、HTTP 基於表單的上傳、代理、cookies和用戶名+密碼的認證。
curl_close() 關閉一個cURL會話。
curl__handle()復制一個cURL句柄和它的所有選項。
curl_errno()返回最後一次的錯誤號。
curl_error()返回一個保護當前會話最近一次錯誤的字元串。
curl_escape()返回轉義字元串,對給定的字元串進行URL編碼。
curl_exec()執行一個cURL會話。
curl_file_create()創建一個CURLFile對象。
curl_getinfo()獲取一個cURL連接資源句柄的信息。
curl_init()初始化一個cURL會話。
curl_multi_add_handle()向curl批處理會話中添加單獨的curl句柄。
curl_multi_close()關閉一組cURL句柄。
curl_multi_exec()運行當前cURL句柄的子連接
curl_multi_getcontent()如果設置了CURLOPT_RETURNTRANSFER,則返回獲取的輸出的文本流。
curl_multi_info_read()獲取當前解析的cURL的相關傳輸信息。
curl_multi_init()返回一個新cURL批處理句柄。
curl_multi_remove_handle()移除curl批處理句柄資源中的某個句柄資源。
curl_multi_select()等待所有cURL批處理中的活動連接。
curl_multi_setopt()設置一個批處理cURL傳輸選項。
curl_multi_strerror()返回描述錯誤碼的字元串文本。
curl_pause()暫停及恢復連接。
curl_reset()重置libcurl的會話句柄的所有選項。
curl_setopt_array()為cURL傳輸會話批量設置選項。
curl_setopt()設置一個cURL傳輸選項。
curl_share_close()關閉cURL共享句柄。
curl_share_init()初始化cURL共享句柄。
curl_share_setopt()設置一個共享句柄的cURL傳輸選項。
curl_strerror()返回錯誤代碼的字元串描述。
curl_unescape()解碼URL編碼後的字元串。
curl_version()獲取cURL版本信息。

4. 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);
?>

5. 用php如何把一些文件和圖片上傳到另一指定的伺服器

一個實例:

首先,在自己台式機和筆記本上都開通了ftp,這個不會的同學可以網上查serv-u,相關教程肯定不少的。

然後在台式機本地做了個測試:

$ftp_server = "192.168.1.100";
$ftp_user_name = "laohu";
$ftp_user_pass = "123456";
$conn_id = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server");
$file = 'test.txt';
$remote_file = '/test/a.txt';
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

if (ftp_put($conn_id, $remote_file, $file, FTP_BINARY)) {
echo "文件移動成功\n";
} else {
echo "移動失敗\n";
}
ftp_close($conn_id);

運行後:文件移動成功。

要的就是這個效果了,之後用台式機做程序伺服器,上傳附件時全用ftp方法上傳至筆記本上,筆記本ip是105,相應代碼如下:

if (is_uploaded_file($_FILES['uploadfile']['tmp_name'])) {
$ftp_server = "192.168.1.105";
$ftp_user_name = "lesley";
$ftp_user_pass = "123456";
$conn_id = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server");
$file = $_FILES['uploadfile']['tmp_name'];
$remote_file = '/test/'.$_FILES['uploadfile']['name'];
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

if (ftp_put($conn_id, $remote_file, $file, FTP_BINARY)) {
echo "文件:".$_FILES['uploadfile']['name']."上傳成功\n";
} else {
echo "上傳失敗\n";
}
ftp_close($conn_id);
}

對應的前台頁面代碼:

<form action="uploadfile.php" method="post" enctype="multipart/form-data">
<input type="file" name="uploadfile" id="uploadfile" />
<input type="submit" name="submit" value="submit" />
</form>

運行後確實成功。

需要注意:
在用ftp_put方法時,第四個參數傳送模式,需要用FTP_BINARY(二進制模式),用FTP_ASCII(文本模式)時,圖片能上傳但無法顯示,其他文件重命名、中文亂碼解決、上傳許可權控制等,就不在此提及了。

6. php里,如何直接上傳圖片至專屬的圖片伺服器

生成一個隨機id 傳給B,隨機ID 存在A資料庫,B接受數據,讀取A的資料庫比對就行了。

資料庫僅僅存放那個id而已,相當於上傳時B問A,這個id是否合法,A說合法,就可以存圖片咯,B可以直接讀A的資料庫,也可以將這個id反傳給A,由A執行查詢告知B結果,用include就行,遠程包含一個A的php查詢頁面

7. php如何不通過提交表單的方式向伺服器上傳圖片

action直接空,直接用submit按鈕,點擊不就提交到當前頁面了額,<input id="submit1" name="submit1" type="button">你這個地方幹嘛用button,用submit按鈕額

8. PHP如何將圖片上傳到伺服器上

這個需要對付對你開通這個介面才可以。你想啊,如果有人能隨便傳東西到你的網站,那你的站豈不是很快就爆掉了。要是你想知道方法的話可以用簡單的『culr』之類的擴展去實現

9. php手機站,怎麼上傳圖片給伺服器(提交給介面api處理)

上傳操作可以使用FTP來實現,用php即可調用。

FTP 是File Transfer Protocol(文件傳輸協議)的英文簡稱,而中文簡稱為「文傳協議」。用於Internet上的控制文件的雙向傳輸。同時,它也是一個應用程序(Application)。基於不同的操作系統有不同的FTP應用程序,而所有這些應用程序都遵守同一種協議以傳輸文件。在FTP的使用當中,用戶經常遇到兩個概念:"下載"(Download)和"上傳"(Upload)。"下載"文件就是從遠程主機拷貝文件至自己的計算機上;"上傳"文件就是將文件從自己的計算機中拷貝至遠程主機上。用Internet語言來說,用戶可通過客戶機程序向(從)遠程主機上傳(下載)文件。

熱點內容
網站架設多伺服器ip 發布:2024-10-12 07:42:15 瀏覽:188
linuxjdbc 發布:2024-10-12 07:38:10 瀏覽:198
pythonip正則表達式 發布:2024-10-12 07:30:24 瀏覽:178
xp怎麼認安卓手機 發布:2024-10-12 07:30:20 瀏覽:879
pythonmac開發工具 發布:2024-10-12 07:29:01 瀏覽:268
android字元數組 發布:2024-10-12 07:16:32 瀏覽:307
買安卓手機選什麼顏色 發布:2024-10-12 07:10:51 瀏覽:698
已經連接的wifi怎麼看密碼 發布:2024-10-12 07:06:07 瀏覽:59
sae上傳失敗 發布:2024-10-12 07:03:20 瀏覽:958
如何在伺服器上玩ai換臉 發布:2024-10-12 06:43:47 瀏覽:913