您的位置:

php文件下载代码怎么写,php实现下载文件

本文目录一览:

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_dump($arr_dir);

return $arr_dir;

}

php实现文件下载代码~

echo "a href='$file'".$file."/a"需要绝对路径,而且注意目录是不可以下载的。

?php

$root="d:/";

if(is_dir($root)){

$openHandle=opendir($root);

while(false!==($file=readdir($openHandle))){

if(!is_dir($root.$file))

echo "a href='$root$file'".$file."/abr/";

}

closedir($openHandle);

}

else {

echo "文件夹不存在";

}

?

用PHP写下载文件的那部分代码

问题一:你在查询目录文件时同时生成一个累加的数值。GET带过这个数值就可以了。提交以后,同一目录下再次查询目录生成的列表相同,所以这个 GET 值能对应文件的。。

问题二:问题出在下列代码处。

$file=$filename;

$filename = "./download/".$file;

$downfilename = $file;

一开始的时候 $filename 为空值。所以 $file ='' 接下来是 $downfilename = $file; 因为 $file 为空值。所以 $downfilename 同样也为空值。然后下面的下载就会返回当前文件做为下载对象。也就是 PHP文件本身。

问题三:因为你提供下载的时候。使用的类型是数据流。而不是文件类型。浏览器不能确认该文件的打开方式。所以只能下载完以后再打开。如果你这么写:

Header("Content-type: text/html");

那浏览器就会使用 IE 或默认浏览器打开了。其他文件同样道理。你可以用 filetype() 函数取得文件类型。

宗合一下:两个文件的代码可以合成一个。这里明显地址栏区别在于。列表页没有 GET 变量。所以你可以用以下判断来完成:

if(!is_set($_GET['filename']))

{

//这里放文件例表的代码。

}else{

//这里放文件下载代码。

}

用php如何写下载文件代码;都说非常简单,几行代码就行,可是我写的为何就是有错呢?

filename=??是文件名或者文件别名,这个是下载是保存文件的默认文件名,不要带上路径;readfile("")是实际的文件,就是路径加上文件名,不一定是绝对路径了。filename给的参数不对了。