1. php中怎麼實現文件下載功能
兩種方法:
1.直接做個超鏈接,地址為文件的地址
<ahref="文件地址">下載</a>2.流輸出
<?php
$file=fopen('文件地址',"r");
header("Content-Type:application/octet-stream");
header("Accept-Ranges:bytes");
header("Accept-Length:".filesize('文件地址'));
header("Content-Disposition:attachment;filename=文件名稱");
echofread($file,filesize('文件地址'));
fclose($file);
?>推薦第二種
因為第一種方法只能下載瀏覽器不能解析的文件,比如rar啊,腳本文件之類。如果文件是圖片或者txt文檔,就會直接在瀏覽器中打開。
而第二種方法是直接輸出的文件流,不存在上述問題。
你可以檢查一下你傳值過來的路徑是否正確,還有,流輸出後面不要再進行任何操作了。
拓展資料:
集成開發環境是一種集成了軟體開發過程中所需主要工具的集成開發環境,其功能包括但不僅限於代碼高亮、代碼補全、調試、構建、版本控制等。一些常見的PHP IDEs如下:
Zend Studio:商業版,Zend官方出品,基於eclipse
Eclipsewith PDT:免費
Coda:商業版,針對Mac用戶
NetBeans:免費,功能強大
PHP Storm:商業版
AptanaStudio:免費
PhpEd:商業版
KomodoIDE/Edit:IDE為商業版,Edit可免費使用
Adobe Dreamweaver:商業版
除去集成開發環境,具備代碼高亮功能的常見文本編輯器因其輕巧靈活也常被選作開發工具,例如:Notepad++、Editplus、SublimeText、Everedit(國人開發)等等。
PHP的特性包括:
1. PHP 獨特的語法混合了 C、Java、Perl 以及 PHP 自創新的語法。
2. PHP可以比CGI或者Perl更快速的執行動態網頁——動態頁面方面,與其他的編程語言相比,
PHP是將程序嵌入到HTML文檔中去執行,執行效率比完全生成htmL標記的CGI要高許多;
PHP具有非常強大的功能,所有的CGI的功能PHP都能實現。
3. PHP支持幾乎所有流行的資料庫以及操作系統。
4. 最重要的是PHP可以用C、C++進行程序的擴展!
參考資料:網路:PHP
2. php上傳下載系統怎麼實現
隨便下個開源的上傳文件程序 看看代碼即可
核心函數 COPY
PHP文件上傳的原理及實現
利用php的文件函數來實現上傳
這段代碼分為兩個文件,一個為upload.html,一個是upload.php
upload.html
<form enctype="multipart/form-data" action="upload.php" method="post">
<input type="hidden" name="max_file_size" value="100000">
<input name="userfile" type="file">
<input type="submit" value="上傳文件">
</form>
其中,請注意
值得注意的是文件upload.html中表單選項 MAX_FILE_SIZE 的隱藏值域,通過設置其Value(值)可以限制上載文件的大小。
MAX_FILE_SIZE 的值只是對瀏覽器的一個建議,實際上它可以被簡單的繞過。因此不要把對瀏覽器的限制寄希望於該值。實際上,PHP 設置中的上傳文件最大值,是不會失效的。但是最好還是在表單中加上 MAX_FILE_SIZE,因為它可以避免用戶在花時間等待上傳大文件之後才發現該文件太大了的麻煩。
upload.php
$f=&$HTTP_POST_FILES['Myfile'];
$dest_dir='uploads';//設定上傳目錄
$dest=$dest_dir.'/'.date("ymd")."_".$f['name'];//設置文件名為日期加上文件名避免重復
$r=move_uploaded_file($f['tmp_name'],$dest);
chmod($dest, 0755);//設定上傳的文件的屬性
或者
<?($_FILES[MyFile][tmp_name],$_FILES[MyFile][name]);?>
然後再COPY的同時連下資料庫把要入的值入庫即可
再做一個查詢頁面讀取資料庫
3. php 批量大文件上傳下載如何實現
1.首先還是查看環境是否支持超大容量上傳的支持,500M以上的文件通常為視頻文件;
2.即然他要上傳500M以上的文件,估計伺服器性能必定非同凡想,所以暫可不考慮伺服器硬體配置問題,但一定要考慮到網速問題,建議1000M以上出入速率,如少於這個數,你可以放棄這個方案了;
3.前面硬體都過關了,但程序也要加強了,一下上傳500M是哪種語言都不能實現的,唯一解決方案,文件切割,如迅雷下載原理一樣(採用續點上傳),分成若干小塊,然後全部上傳完畢以後,再進行文件合成。
4.至於PHP的文件切割,切割後上傳,以及文件合並,此類代碼網上有許多,樓主可查詢並選擇適合你的代碼,實現你的功能!
4. php代碼 網站編程 實現上傳和下載多個不同類型文件功能
寫這樣的代碼沒有多少難度。其實文件類型與上傳和下載真的沒有關系,無論什麼類型都是相同的代碼上傳和下載。在我看來,你現在難題在於一個欄位(例如三維圖紙)有多個文件,這使得上傳和下載的控制代碼非常繁雜。有一個簡便的建議,就是一類文件(一個資料庫欄位)只允許用戶上傳一個文件,用戶操作中必須把此類文件進行打包後上傳,下載後也需要解包才能使用,這樣你的代碼就變得簡單多了。
如果你一定需要一類文件允許上傳多個,也是有辦法做到的,多個文件的名稱使用符號連接為字元串後保存到資料庫裡面,例如a.jpg|b.jpg|c.jpg這樣的三個文件用|分開,上傳的頁面使用JS代碼控制增加<FORM>的<INPUT TYPE=FILE>域。
最完美的實現上傳文件夾,不過那不是PHP能實現的,需要編寫網頁控制項(本質上是在客戶端運行的代碼),兼容性也差。
寫程序可以理解為織毛衣,把一根毛線弄成一件衣服是非常耗費時間的,如果你自己編織的時候遇到哪朵花怎麼設計的問題,大家非常樂意幫你出主義,如果你是想有人整件毛衣幫你織好,這可能要靠緣分了。
5. 網上下載的php源碼如何上傳安裝,求詳細教程!
一個好的源碼和用心的開發者是不會讓你提出使用這個教程問題的,一般都會有詳細的說明文檔進行介紹。
高質量帶說明文檔的源碼獲取方法:(先下載,看源碼需求,再搭建環境很重要):
1、打開網路,搜索「PopMars-專注共享資源 – 免費教程」
2、打開其中名字為 「PopMars-專注共享資源 – 免費教程|Php源碼免費下載|IOS App應用...」 的網站
3、裡面可以找到大量的php源碼
准備:查看源碼裡面的說明文件,源碼運行的基本情況需求。在本機安裝相應的環境即可運行。例如PHP7.0/Mysql 5.5等等。關於本機的環境你可以使用類似xampp的一鍵部署包
6. 怎樣把下載的PHP建站系統上傳到區域網上的WEB伺服器上
1、區域網與互聯網沒有區別,是一樣的操作,最多就是區域網只可以使用IP,不能使用域名。
2、安好就夠了。
3、用FTP可以,直接用U盤拷貝過去也可以。把PHP文件拷貝到WEB伺服器網站主目錄下,資料庫需要進行導入,或者拷貝到MYSQL\DATA文件夾下,打開你下載的壓縮包,裡面應該有說明。
7. php製作文件上傳系統需要另外安裝東西嗎
asp 需要fso支持。對asp的知道點皮毛。
php不需要安裝組件,內置的幾個函數就搞定了。
前端:
<form action="upload.php" enctype="multipart/form-data" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="2000000"/>
<input name="file" type="file" id="file" class="upload"/>
<input type="submit" name="Submit" value="<?=$lang["submit"]?>" style="border:1px #999999 solid;vertical-align:middle;height:18px"/>
</form>
提交處理:
move_uploaded_file($_FILES['file']['tmp_name'],$uploadfile);
8. php如何實現文件上傳啊
PHP一般使用POST方法上傳文件,下面是一個簡單的文件上傳示例,裡面有相關的注釋:
up.htm文件:
----------
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=gb2312">
<title>UpSample</title>
</head>
<body>
<formaction="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/>
<inputtype="file"name="upfile"size="30"><br/>
<!--上傳框要設置type="file"-->
<br/>
<inputtype="submit"value="Upload">
</form>
</body>
</html>
----------
up.php文件
----------
<?php
if(is_uploaded_file($_FILES["upfile"]["tmp_name"])){
//如果有文件上傳
//is_uploaded_file--判斷文件是否是通過HTTPPOST上傳的,返回布爾值
//$_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'TheuploadedfileisnotanpdfFile!Pleaseuploadarightfile!';
}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"]."uploadedsucceed!!!";
}else{
echo"Can'tupload!!!";
}
}
}else{
echo"Fileisnotselected";
}
//需要注意的:
/*
在你的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']數組的各個值分別代表什麼
*/
?>
----------
可以看看php100裡面的視頻,其中一節就是介紹文件上傳的.:)