php文件下载的应用实例

 更新时间:2016年11月25日 15:55  点击:1614
本文章为你提供这款php文件下载代码是一款利用header把文件代码发送到客户端的浏览器进行下载哦。
 代码如下 复制代码

<?
function download($file_dir,$file_name)
//参数说明:
//file_dir:文件所在目录
//file_name:文件名
{
    $file_dir = chop($file_dir);//去掉路径中多余的空格
    //得出要下载的文件的路径
    if($file_dir != '')
    {
        $file_path = $file_dir;
        if(substr($file_dir,strlen($file_dir)-1,strlen($file_dir)) != '/')
            $file_path .= '/';
        $file_path .= $file_name;
    }           
    else
        $file_path = $file_name;   
   
    //判断要下载的文件是否存在www.111cn.net
    if(!file_exists($file_path))
    {
        echo '对不起,你要下载的文件不存在。';
        return false;
    }

    $file_size = filesize($file_path);
 
    header("Content-type: application/octet-stream");
    header("Accept-Ranges: bytes");//111cn.net
    header("Accept-Length: $file_size");
    header("Content-Disposition: attachment; filename=".$file_name);
   
    $fp = fopen($file_path,"r");
    $buffer_size = 1024;
    $cur_pos = 0;
   
    while(!feof($fp)&&$file_size-$cur_pos>$buffer_size)
    {
        $buffer = fread($fp,$buffer_size);
        echo $buffer;
        $cur_pos += $buffer_size;
    }
   
    $buffer = fread($fp,$file_size-$cur_pos);
    echo $buffer;
    fclose($fp);
    return true;

}

?>

//方法一

 代码如下 复制代码
echo preg_replace('#[x{4e00}-x{9fa5}]#ue','chinese_unicode("\0")',"您好,中国");//保证"您好,中国"是utf-8。
function chinese_unicode($c) {
        return "u".dechex(((ord($c[0]) & 0x1f) << 12) + (ord($c[1]) & 0x3f << 6) + (ord($c[2]) & 0x3f));


}
//方法二

 代码如下 复制代码
foreach(unpack(
'n*',
mb_convert_encoding('你好', 'unicode', 'gbk')
) as $i) {
echo 'u',dechex($i);


}

 

 代码如下 复制代码

<html>
<head>
<title>计数器</title>
<head>
<body>

<?PHP
$countfile = "counter.txt";
//定义计数器写入的文件是当前目录下的www.111cn.net.txt文件中,然后我们应当测试该文件能否打开
if (($fp = fopen($countfile, "r+")) == false) {
 //用读写模式打开文件,若不能打开就退出
 printf ("Open file %s failed!",$countfile);
 exit;
}
else
{
//如果文件能够正常打开,就读入文件中的数据,假设是1
$count = fread ($fp,10);
//读取10位数据
$count = $count + 1;
//count ++
fclose ($fp);
//关闭当前文件
$fp = fopen($countfile, "w+");
//以覆盖模式打开文件
fwrite ($fp,$count);
//写入加1后的新数据
fputs($fp,$fg);
//显示计数结果
// 数字显示
echo "<div align=center><font size=5>计数次数:$count</font><br>";

// 图形模式计数
$fp = fopen ($countfile, "r"); //以只读模式打开文件
$array_count = 1; //定义一个表示数组元素位置的变量,下面要用
while (! feof($fp)) {
$current_number = fgetc($fp);
$counter_array[$array_count] = $current_number;
$array_elements = count ($counter_array);
$array_count = $array_count + 1;
}
echo "<div align=center><font size=5>计数次数www.111cn.net:";
for ($array_id = 1;$array_id < $array_elements; ++ $array_id) {
echo "<img src=countimg/".$counter_array[$array_id].".gif>";
}
echo "</font>";

fclose ($fp);
//并关闭文件
}

?>

</body>
</html>

<?
if(!$UploadAction):
?>

 代码如下 复制代码

<HTML>
<HEAD>
<TITLE>文件上载界面</TITLE>
</HEAD>
<BODY>

<table>
<tr align="center">
<td><form ENCTYPE="multipart/form-data" NAME="SubmitForm" ACTION="upload.php教程" METHOD="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="1000000"><input type="hidden" name="UploadAction" value="1">
</td></tr>
<tr align="center">
<td><input NAME="UploadFile" TYPE="file" SIZE="30"></td>
</tr>
<tr align="center">
<td><input NAME="submit" VALUE="提交www.111cn.net" TYPE="submit"></td>
<td><input NAME="reset" VALUE="重置" TYPE="reset"></td>
</tr>
</form>
</table>
</center>
</BODY>
</HTML>

<?
else:
?>

<HTML>
<HEAD>
<TITLE>文件上载代码</TITLE>
</HEAD>
<BODY>

 代码如下 复制代码

<?
$UploadAction=0;
echo "Good!";
$TimeLimit=60; /*设置超时限制时间 缺省时间为30秒 设置为0时为不限时 */
set_time_limit($TimeLimit);

If(($UploadFile !="none" ))
{  
    $UploadPath=AddSlashes(dirname($PATH_TRANSLATED))."\www.111cn.net\"; //上载文件存放路径

    $FileName=$UploadPath.$UploadFile_name; //上载文件名

    if($UploadFile_size < 1024) //上载文件大小
    {
  $FileSize=(string)$UploadFile_size." 字节"; 
 }
     elseif ($UploadFile_size <(1024 * 1024))
     {
  $FileSize=number_format((double)($UploadFile_size/1024), 1) . " KB";
     }
  else{
  $FileSize=number_format((double)($UploadFile_size / (1024 * 1024)), 1) . " MB";
     }
   
    if(!file_exists($FileName))
    {
         if(copy($UploadFile,$FileName))
         {  echo "文件 $UploadFile_name ($FileSize)上载成功!"; }
         else
         { echo "文件 $UploadFile_name上载失败!"; }

         unlink($UploadFile);
    }
    else
    { echo "文件 $UploadFile_name已经存在!"; }
}
else
{ echo "你没有选择任何文件上载!"; }

set_time_limit(30); //恢复缺省超时设置

?>

<BR><A HREF = "upload.php">返回</A>

</BODY>
</HTML>

<?
endif;
?>

 代码如下 复制代码
$im = imagecreatefromjpeg($_file["upload"]["tmp_name"]); //你要打水例子的图片
$watermark = imagecreatefrompng("Smiley.png"); //水印图的路径
$im_x = imagesx($im);
$im_y = imagesy($im);
$w_x = imagesx($watermark);
$w_y = imagesy($watermark);
imagecopy($im,$watermark ,$im_x-$w_x,$im_y-$w_y,0,0,$w_x,$w_y);
imagejpeg($im); //可加上路径以保存有水印的图
//可以利用type判断下图片类型
//switch($_file["upload"]["type"])
//case:1
//然后用不同的函数
//imagejpeg()对应jpeg
//imagegif()对应gif
//imagepng()对应png
imagedestroy($im);
[!--infotagslink--]

相关文章

  • php读取zip文件(删除文件,提取文件,增加文件)实例

    下面小编来给大家演示几个php操作zip文件的实例,我们可以读取zip包中指定文件与删除zip包中指定文件,下面来给大这介绍一下。 从zip压缩文件中提取文件 代...2016-11-25
  • Jupyter Notebook读取csv文件出现的问题及解决

    这篇文章主要介绍了JupyterNotebook读取csv文件出现的问题及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2023-01-06
  • Photoshop打开PSD文件空白怎么解决

    有时我们接受或下载到的PSD文件打开是空白的,那么我们要如何来解决这个 问题了,下面一聚教程小伙伴就为各位介绍Photoshop打开PSD文件空白解决办法。 1、如我们打开...2016-09-14
  • C#操作本地文件及保存文件到数据库的基本方法总结

    C#使用System.IO中的文件操作方法在Windows系统中处理本地文件相当顺手,这里我们还总结了在Oracle中保存文件的方法,嗯,接下来就来看看整理的C#操作本地文件及保存文件到数据库的基本方法总结...2020-06-25
  • 解决python 使用openpyxl读写大文件的坑

    这篇文章主要介绍了解决python 使用openpyxl读写大文件的坑,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-13
  • C#实现HTTP下载文件的方法

    这篇文章主要介绍了C#实现HTTP下载文件的方法,包括了HTTP通信的创建、本地文件的写入等,非常具有实用价值,需要的朋友可以参考下...2020-06-25
  • SpringBoot实现excel文件生成和下载

    这篇文章主要为大家详细介绍了SpringBoot实现excel文件生成和下载,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-02-09
  • php无刷新利用iframe实现页面无刷新上传文件(1/2)

    利用form表单的target属性和iframe 一、上传文件的一个php教程方法。 该方法接受一个$file参数,该参数为从客户端获取的$_files变量,返回重新命名后的文件名,如果上传失...2016-11-25
  • php批量替换内容或指定目录下所有文件内容

    要替换字符串中的内容我们只要利用php相关函数,如strstr,str_replace,正则表达式了,那么我们要替换目录所有文件的内容就需要先遍历目录再打开文件再利用上面讲的函数替...2016-11-25
  • PHP文件上传一些小收获

    又码了一个周末的代码,这次在做一些关于文件上传的东西。(PHP UPLOAD)小有收获项目是一个BT种子列表,用户有权限上传自己的种子,然后配合BT TRACK服务器把种子的信息写出来...2016-11-25
  • AI源文件转photoshop图像变模糊问题解决教程

    今天小编在这里就来给photoshop的这一款软件的使用者们来说下AI源文件转photoshop图像变模糊问题的解决教程,各位想知道具体解决方法的使用者们,那么下面就快来跟着小编...2016-09-14
  • C++万能库头文件在vs中的安装步骤(图文)

    这篇文章主要介绍了C++万能库头文件在vs中的安装步骤(图文),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-23
  • Zend studio文件注释模板设置方法

    步骤:Window -> PHP -> Editor -> Templates,这里可以设置(增、删、改、导入等)管理你的模板。新建文件注释、函数注释、代码块等模板的实例新建模板,分别输入Name、Description、Patterna)文件注释Name: 3cfileDescriptio...2013-10-04
  • C#路径,文件,目录及IO常见操作汇总

    这篇文章主要介绍了C#路径,文件,目录及IO常见操作,较为详细的分析并汇总了C#关于路径,文件,目录及IO常见操作,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • php文件上传你必须知道的几点

    本篇文章主要说明的是与php文件上传的相关配置的知识点。PHP文件上传功能配置主要涉及php.ini配置文件中的upload_tmp_dir、upload_max_filesize、post_max_size等选项,下面一一说明。打开php.ini配置文件找到File Upl...2015-10-21
  • C#使用StreamWriter写入文件的方法

    这篇文章主要介绍了C#使用StreamWriter写入文件的方法,涉及C#中StreamWriter类操作文件的相关技巧,需要的朋友可以参考下...2020-06-25
  • ant design中upload组件上传大文件,显示进度条进度的实例

    这篇文章主要介绍了ant design中upload组件上传大文件,显示进度条进度的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-10-29
  • php实现文件下载实例分享

    举一个案例:复制代码 代码如下:<?phpclass Downfile { function downserver($file_name){$file_path = "./img/".$file_name;//转码,文件名转为gb2312解决中文乱码$file_name = iconv("utf-8","gb2312",$file_name...2014-06-07
  • 查找php配置文件php.ini所在路径的二种方法

    通常php.ini的位置在:复制代码 代码如下:/etc目录下或/usr/local/lib目录下。如果你还是找不到php.ini或者找到了php.ini修改后不生效(其实是没找对),请使用如下办法:1.新建php文件,写入如下代码复制代码 代码如下:<?phpe...2014-05-31
  • C# 向二进制文件进行读写的操作方法

    该例子使用 BinaryStream 和 BinaryWriter 对二进制文件进行读写操作先上代码再根据我理解的所分享给各位朋友...2020-06-25