當前位置:首頁 » 文件管理 » phphttp上傳

phphttp上傳

發布時間: 2022-05-31 12:37:35

php如何通過http傳輸大文件

其實最簡單的辦法就是把默認上傳文件大小的配置改大一點就行了。比如你要上傳一個小於50M的文件
1.php的配置文件改動:
upload_max_filesize 50M;
post_max_size 50M;
2.nginx的配置文件nginx.conf:
client_max_body_size 50m;

㈡ php上傳文件(上傳後顯示圖片)

如果你能上傳成功得話下面得

upload.php
<?
include_once ('admin_global.php');
if(isset($_POST['upload'])){
$name=$_FILES["userfile"]["name"];
$updir="../common/images/";
//$uploadfile=$uploaddir.$_FILES['userfile']['name']; //新文件
$type=$_FILES["userfile"]["type"];
$size=$_FILES["userfile"]["size"];
if($name==""){echo"<script>alert('請先選擇要上傳的圖片文件!');window.history.back();</script>";}
$tmp_name=$_FILES["userfile"]["tmp_name"];
if($type!="image peg" && $type!="image/jpeg" && $type!="image/gif"){echo"<script>alert('上傳文件只可以是JPEG或GIF類型的!');window.history.back();</script>";exit;}
if(file_exists($updir.$name)){echo"<script>alert('伺服器上已有同名文件!');window.history.back();</script>";exit;}
if(move_uploaded_file($tmp_name,$updir.$name)){echo"<script>alert('圖片上傳完成!');</script>";}
echo"<script>window.location.href('admin_tu_add.php?n=$name');</script>";
//echo"$name";
}

?>

admin_tu_add.php
<img src="../common/images/<? echo $_GET['n']; ?>">

如果上傳不了得話就是你寫得上傳程序可能有問題

㈢ 在PHP中,通過http寫上傳文件時,問題

這個其實和http協議有關,你可以通過http頭部信息告知瀏覽器這是一個文件,並告知瀏覽器文件大小,apache伺服器默認輸出的是Transfer-Encoding: chunked表示輸出的內容長度不能確定,除非你明確指明長度大小Content-lenght,建議你使用下列代碼

header("Content-Type:application/octet-stream");
header("content-length:".filesize($file));
header("Content-Disposition:attachment;filename=".basename($file));
readfile($file);

㈣ 怎麼通過PHP來支持ftp和HTTP上傳

給你一些 php 操作 ftp 的函數:


FTP 函數

  1. ftp_alloc— 為要上傳的文件分配空間

  2. ftp_cp— 切換到當前目錄的父目錄

  3. ftp_chdir— 在 FTP 伺服器上改變當前目錄

  4. ftp_chmod— 設置 FTP 伺服器上的文件許可權

  5. ftp_close— 關閉一個 FTP 連接

  6. ftp_connect— 建立一個新的 FTP 連接

  7. ftp_delete— 刪除 FTP 伺服器上的一個文件

  8. ftp_exec— 請求運行一條 FTP 命令

  9. ftp_fget— 從 FTP 伺服器上下載一個文件並保存到本地一個已經打開的文件中

  10. ftp_fput— 上傳一個已經打開的文件到 FTP 伺服器

  11. ftp_get_option— 返回當前 FTP 連接的各種不同的選項設置

  12. ftp_get— 從 FTP 伺服器上下載一個文件

  13. ftp_login— 登錄 FTP 伺服器

  14. ftp_mdtm— 返回指定文件的最後修改時間

  15. ftp_mkdir— 建立新目錄

  16. ftp_nb_continue— 連續獲取/發送文件(non-blocking)

  17. ftp_nb_fget— 從 FTP 伺服器獲取文件並寫入到一個打開的文件(非阻塞)

  18. ftp_nb_fput— 將文件存儲到 FTP 伺服器 (非阻塞)

  19. ftp_nb_get— 從 FTP 伺服器上獲取文件並寫入本地文件(non-blocking)

  20. ftp_nb_put— 存儲一個文件至 FTP 伺服器(non-blocking)

  21. ftp_nlist— 返回給定目錄的文件列表

  22. ftp_pasv— 返回當前 FTP 被動模式是否打開

  23. ftp_put— 上傳文件到 FTP 伺服器

  24. ftp_pwd— 返回當前目錄名

  25. ftp_quit— ftp_close 的 別名

  26. ftp_raw— 向 FTP 伺服器發送命令

  27. ftp_rawlist— 返回指定目錄下文件的詳細列表

  28. ftp_rename— 更改 FTP 伺服器上的文件或目錄名

  29. ftp_rmdir— 刪除 FTP 伺服器上的一個目錄

  30. ftp_set_option— 設置各種 FTP 運行時選項

  31. ftp_site— 向伺服器發送 SITE 命令

  32. ftp_size— 返回指定文件的大小

  33. ftp_ssl_connect— 打開 SSL-FTP 連接

  34. ftp_systype— 返回遠程 FTP 伺服器的操作系統類型


例子:

<?php

$ftp_server="";
$ftp_user_name="";
$ftp_user_pass="";
$file="";//tobeuploaded
$remote_file="";

//簡歷ftp鏈接
$conn_id=ftp_connect($ftp_server);

//使用用戶名和密碼登錄
$login_result=ftp_login($conn_id,$ftp_user_name,$ftp_user_pass);

//上傳文件
if(ftp_put($conn_id,$remote_file,$file,FTP_ASCII)){
echo"成功上傳文件:$file ";
exit;
}else{
echo"上傳文件錯誤:$file ";
exit;
}

//關閉ftp鏈接
ftp_close($conn_id);

㈤ 如何用PHP實現HTTP級別的文件POST上傳 - PHP進階討論

用戶通過表單將文件上傳到伺服器也是通過HTTP請求來完成的而PHP的curl庫可以用來構造HTTP請求,包括HTTP的POST請求你可以學習一下curl函數庫

㈥ php 如何發送http請求!

第一種實現方式:實用socket編程,通常我們實用fsockopen這個函數來創建一個socket連接,用fputs來發送一個請求
第二種實現方式:實用php的curl擴展,我們使用curl_init()來初始化一個連接,然後設置一堆的curl_setopt()的東西來設置url,post的數據等等,最後我們使用curl_exec()來實現請求。
第三種方式就是: 實用file_get_contents函數,其實我們平時抓取一個網頁可能只實用它的第一個參數,其實它的第三個參數就有數據了

㈦ 求php怎麼實現web端上傳超大文件

加大PHP上傳文件大小的限制,是通過修改PHP.INI文件來實現,但是這個支持是有限度的,因為WEB協議本為下載而生,超大文件的上傳是FTP的專利。

PHP用超級全局變數數組$_FILES來記錄文件上傳相關信息的。

1.file_uploads=on/off
是否允許通過http方式上傳文件
2.max_execution_time=30
允許腳本最大執行時間,超過這個時間就會報錯
3.memory_limit=50M
設置腳本可以分配的最大內存量,防止失控腳本佔用過多內存,此指令只有在編譯時設置了
--enable-memory-limit標志的情況下才生效
4.upload_max_filesize=20M
允許上傳文件的最大大小,此指令必須小於post_max_size
5.upload_tmp_dir
上傳文件臨時存放目錄
6.post_max_size=30M
允許post方式可以接受最大大小
$_FILES['myFile']['name'] 客戶端上次文件的原始名稱。
$_FILES['myFile']['type'] 文件的 MIME 類型,需要瀏覽器提供該信息的支持,例如"image/gif"。
$_FILES['myFile']['size'] 已上傳文件的大小,單位為位元組。
$_FILES['myFile']['tmp_name'] 文件被上傳後在服務端儲存的臨時文件名,一般是系統默認。可以在php.ini的upload_tmp_dir 指定,但 用 putenv() 函數設置是不起作用的。
$_FILES['myFile']['error'] 和該文件上傳相關的狀態碼。['error'] 是在 PHP 4.2.0 版本中增加的。下面是它的說明:(它們在PHP3.0以後成了常量)
UPLOAD_ERR_OK
值:0; 沒有錯誤發生,文件上傳成功。
UPLOAD_ERR_INI_SIZE
值:1; 上傳的文件超過了 php.ini 中 upload_max_filesize 選項限制的值。
UPLOAD_ERR_FORM_SIZE
值:2; 上傳文件的大小超過了 HTML 表單中 MAX_FILE_SIZE 選項指定的值。
UPLOAD_ERR_PARTIAL
值:3; 文件只有部分被上傳。
UPLOAD_ERR_NO_FILE
值:4; 沒有文件被上傳。
值:5; 上傳文件大小為0.
文件被上傳結束後,默認地被存儲在了臨時目錄中,這時您必須將它從臨時目錄中刪除或移動到其它地方,如果沒有,則會被刪除。
也就是不管是否上傳成功,腳本執行完後臨時目錄里的文件肯定會被刪除。
附:修改PHP上傳文件大小限制的方法
1. 一般的文件上傳,除非文件很小.就像一個5M的文件,很可能要超過一分鍾才能上傳完.
但在php中,默認的該頁最久執行時間為 30 秒.就是說超過30秒,該腳本就停止執行.
這就導致出現 無法打開網頁的情況.這時我們可以修改 max_execution_time
在php.ini里查找
max_execution_time
默認是30秒.改為
max_execution_time = 0
0表示沒有限制
2. 修改 post_max_size 設定 POST 數據所允許的最大大小。此設定也影響到文件上傳。
php默認的post_max_size 為2M.如果 POST 數據尺寸大於 post_max_size $_POST 和 $_FILES superglobals 便會為空.
查找 post_max_size .改為
post_max_size = 150M
3. 很多人都會改了第二步.但上傳文件時最大仍然為 8M.
為什麼呢.我們還要改一個參數upload_max_filesize 表示所上傳的文件的最大大小。
查找upload_max_filesize,默認為8M改為
upload_max_filesize = 100M
另外要說明的是,post_max_size 大於 upload_max_filesize 為佳.

㈧ 如何用PHP做一個http的伺服器上傳下載文件

隨便在網上找一個上傳下載的源碼來拆解分析就可以拉。 很簡單的呢。

㈨ 如何在php上實現文件上傳功能

PHP 一般使用 POST 方法上傳文件,下面是一個簡單的文件上傳示例,裡面有相關的注釋:
up.htm 文件:
----------
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>Up Sample</title>
</head>
<body>
<form action="up.php" method="post" enctype="multipart/form-data">
<!--備注:表單中 enctype="multipart/form-data " 的意思,是設置表單的 MIME 編碼。默認情況,這個編碼格式是application/x-www-form-urlencoded,不能用於文件上傳;只有使用了 multipart/form-data ,才能完整的傳遞文件數據,進行下面的操作,並且 method 要設置為 "post"-->
File:<br />
<input type="file" name="upfile" size="30"><br />

<!--上傳框要設置 type="file"-->

<br />
<input type="submit" value="Upload">
</form>
</body>
</html>
----------
up.php 文件
----------
<?php
if (is_uploaded_file($_FILES["upfile"]["tmp_name"])){

//如果有文件上傳
//is_uploaded_file -- 判斷文件是否是通過 HTTP POST 上傳的,返回布爾值
//$_FILES['upfilename']['...'],其中的 'upfilename' 即為上傳框的 name 屬性
//$_FILES['upfile']['tmp_name'] -- 文件被上傳後在服務端儲存的臨時文件名,一般是系統默認
if(!eregi('pdf', $_FILES['upfile']['type'])){

//我們這里假設你要上傳一個 pdf 文件
//if(!eregi('pdf', $_FILES['upfile']['type'])) 這個是判斷上傳文件類型的,是不是 pdf 文件,當然,若是想判斷是否是 jpg 文件的話,將 pdf 改成 jpg 就可以了,即 if(!eregi('jpg', $_FILES['upfile']['type']))
//$_FILES['upfile']['type'] 是文件的 MIME 類型,如果瀏覽器提供此信息的話。例如「image/gif」
echo 'The uploaded file is not an pdf File! Please upload a right file!';
}else{
$filename = $_FILES['upfile']['name'];
//$filename = $_FILES['upfile']['name'],這里是指定上傳後的文件名,這里使用的仍是原來的文件名字,($_FILES['upfile']['name'] 是原始文件的名字)
if(move_uploaded_file($_FILES["upfile"]["tmp_name"], dirname(__FILE__)."/upload_file/".$filename)){

//這里就是上傳文件
//dirname(__FILE__)."/upload_file/".$file_name -- 指定上傳的目標文件,假設你要上傳的目標文件夾upload_file 是和當前文件(upload.php)在同一文件夾下
//chmod(dirname(__FILE__)."/upload_file/". $file_name, 0444);
//上面注釋掉的是用來改變上傳後文件的屬性,444 即只有執行和讀的許可權(看情況加上)
echo $_FILES["upfile"]["name"] . " uploaded succeed!!!";

}else{
echo "Can't upload!!!";
}
}
}else{
echo "File is not selected";
}
//需要注意的:
/*
在你的 up.php 同級目錄下建立 upload_file 文件夾,來存放上傳的文件
在上傳之前要看一下 php 的配置文件:php.ini 中的三處設置
1.是否允許文件上傳:( file_uploads = On )
2.文件上傳的最大 size:( upload_max_filesize )
3.post 的最大 size ( post_max_size ) 這個大小設置成和 uplod_max_filesize 一樣大或比 uplod_max_filesize 大
*/
/*
這只是很簡單的一個文件上傳的例子,為了幫助理解,只是判斷了一下上傳文件的類型,還可以使用 if 語句來判斷上傳文件的大小($_FILES['upfile']['type'])),並進行提示控制等,相關可以查閱 $_FILE['upfile'] 數組的各個值分別代表什麼
*/
?>

㈩ php上傳文件到伺服器

1、通過PHP,可以把文件上傳到伺服器。創建一個文件上傳表單,下面這個供上傳文件的 HTML 表單:

<html>
<body>

<formaction="upload_file.php"method="post"
enctype="multipart/form-data">
<labelfor="file">Filename:</label>
<inputtype="file"name="file"id="file"/>
<br/>
<inputtype="submit"name="submit"value="Submit"/>
</form>

</body>
</html>

2、創建上傳腳本,命名為"upload_file.php" 文件含有供上傳文件的代碼:

<?php
if($_FILES["file"]["error"]>0)
{
echo"Error:".$_FILES["file"]["error"]."<br/>";
}
else
{
echo"Upload:".$_FILES["file"]["name"]."<br/>";
echo"Type:".$_FILES["file"]["type"]."<br/>";
echo"Size:".($_FILES["file"]["size"]/1024)."Kb<br/>";
echo"Storedin:".$_FILES["file"]["tmp_name"];
}
?>

註:通過使用 PHP 的全局數組 「$_FILES」,就可以實現從客戶計算機向遠程伺服器上傳文件。

熱點內容
db2新建資料庫 發布:2024-09-08 08:10:19 瀏覽:170
頻率計源碼 發布:2024-09-08 07:40:26 瀏覽:778
奧迪a6哪個配置帶後排加熱 發布:2024-09-08 07:06:32 瀏覽:100
linux修改apache埠 發布:2024-09-08 07:05:49 瀏覽:208
有多少個不同的密碼子 發布:2024-09-08 07:00:46 瀏覽:566
linux搭建mysql伺服器配置 發布:2024-09-08 06:50:02 瀏覽:995
加上www不能訪問 發布:2024-09-08 06:39:52 瀏覽:811
銀行支付密碼器怎麼用 發布:2024-09-08 06:39:52 瀏覽:513
蘋果手機清理瀏覽器緩存怎麼清理緩存 發布:2024-09-08 06:31:32 瀏覽:554
雲伺服器的優點與缺點 發布:2024-09-08 06:30:34 瀏覽:734