『壹』 php怎麼在畫面上加一個下載按鈕,點擊下載能找到伺服器上文件夾的文件並下載下來
請進一步說明「畫面」是指的什麼?某個圖像背景之上?
通常來說,你可以用 層(div) 來完成這種網頁原素(input / button)的布局,至於點擊下載的動作,可以直接將目標文件URL寫上,也可以用以 php 和 js 代碼響應。
如果是動態添加按鈕原素,通常用Ajax / JQuery.
『貳』 怎樣才能用PHP語言實現網頁中的下載文件功能
<?php
/*
$file------文件名
$_SERVER['DOCUMENT_ROOT']-----伺服器跟目標
down------自定義下載文件的文件夾
獲取文件在文件夾裡面的位置
必須是絕對路徑
Content-Type:application/force-download強制瀏覽器下載
*/
$file="xxxx.rar";
$file=$_SERVER['DOCUMENT_ROOT']."/down/".$file;
if(is_file($file)){
header("Content-Type:application/force-download");
header("Content-type:application/octet-stream");
header("Content-Disposition:attachment;filename=".basename($file));
readfile($file);
exit;
}else{
echo"文件不存在!";
exit;
}
?>
『叄』 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
『肆』 PHP如何遍歷指定文件夾,獲取所有文件列表並生成下載鏈接
試編寫代碼如下:
<?php
$dir="D:/WWW/ftp";//指定的路徑
$sitepath='http://localhost/ftp/';
//遍歷文件夾下所有文件
if(false!=($handle=opendir($dir))){
echo"$dir目錄下的文件列表:<BR/>";
$i=0;
while(false!==($file=readdir($handle))){
if($file!="."&&$file!=".."&&!is_dir($dir.'/'.$file)){
echo'<ahref="'.$sitepath.$file.'">'.$file.'</a><br/>';
}
}
//關閉句柄
closedir($handle);
}
?>
代碼中需要提示的是:
如果是運行於互聯網上,需要考慮文件的訪問安全性。
運行截圖:
『伍』 php中讓文件循環下載的代碼怎麼寫
自己寫的方法 但是在中文路徑下會 出現錯誤
/*
*查看問價夾中的子文件及其子文件夾
*$path 付文件夾路徑
*return $arr_dir 文件夾中所有文件和子文件夾的信息
*/
function selDir($path){
$arr_dir = array();
if(is_file($path)){
header("Location: error.php");
exit;
}
$arr_dir = scandir($path);
foreach ($arr_dir as $v){
if($v != "." && $v != ".."){
//print "<hr>".$path.$v;
if(is_dir($path.'/'.$v)){
//print "<hr>是文件夾<hr>";
$arr_dir['dir'][] = array(
'fileUrl' => $path.'/'.$v,
'filename' => $v,
'type' => '文件夾',
'cTime' => @date('Y/m/d H:i',filectime($path.'/'.$v)+8*3600),
'mTime' => @date('Y/m/d H:i',filemtime($path.'/'.$v)+8*3600),
'filesize' => ''
);
}else{
//print "<hr>不是是文件夾<hr>";
$arr_dir['file'][] = array(
'fileUrl' => $path.'/'.$v,
'filename' => $v,
'type' => pathinfo($path.'/'.$v, PATHINFO_EXTENSION),
'cTime' => @date('Y/m/d H:i',filectime($path.'/'.$v)+8*3600),
'mTime' => @date('Y/m/d H:i',filemtime($path.'/'.$v)+8*3600),
'filesize' => filesize($path.'/'.$v)
);
}
}
}
//var_mp($arr_dir);
return $arr_dir;
}
『陸』 菜鳥求助!php里如何實現下載功能
用header來實現
給你一個示例代碼。無論什麼功能,分三步:
1.格式
2.設置Content-Disposition屬性
3.讀文件,完成功能
<?php
// 下載的文件是pdf格式
header('Content-type: application/pdf');
//重命名為downloaded.pdf
header('Content-Disposition: attachment; filename="downloaded.pdf"');
// 源文件為original.pdf
readfile('original.pdf');
?>
『柒』 求教,php 如何獲取文件的下載路徑
哎,本不想回復的,但是怕其它人回復誤人子弟,還是說兩句吧。
你的PHP程序是在WEB伺服器上運行,運行完畢後生成的文件類型,再通過網路傳送到瀏覽器電腦上,然後這個電腦的人員再選擇保存文件路徑,你說這個人選擇保存路徑的時候你的PHP程序可能知道嗎,那個PHP早就運行結束了。
你所有的那些Header都是伺服器傳送給瀏覽器的,瀏覽器要把信息傳送回伺服器只有通過GET、POST調用伺服器,顯然選擇路徑保存文件的動作不會觸發上傳動作。
綜上所述,你是無法通過PHP程序獲得用戶的保存文件夾的。
要獲得用戶保存的文件夾,除非你自己編寫瀏覽器代碼,在選擇保存路徑後再傳送給伺服器,這種可能性幾乎為0。
『捌』 我市菜鳥,請問一下,下載了PHP源碼以後要怎樣使用,要把什麼文件放到什麼文件夾里去
安裝好伺服器環境(新手推薦wampserver,集成apache+php5+mysql),把你的php放到伺服器的文檔目錄下就行了(這個可以在配置文件中更改).有些源碼是需要安裝後才可以正常使用的.