好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>后端语言>PHP
<tfoot draggable='sEl'></tfoot>

php项目csdn下载 php项目教程

很多站长朋友们都不太清楚php项目csdn下载,今天小编就来给大家整理php项目csdn下载,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 PHP典型模块与项目实战大全:PHP文件下载的原理及实现 2、 从csdn下载的文件包怎么都是php文件? 3、 php服务器升级怎么写 csdn 4、 手机上怎么下csdn里的东西,为什么下下来都是.php文件? PHP典型模块与项目实战大全:PHP文件下载的原理及实现

  PHP文件下载的原理及实现

通常文件下载过程是十分简单的 建立一个链接指向到目标文件就可以了 例如下面的链接

<a href=// xxx /xxx rar>点击下载文件</a>

但是 实际情况可能会稍复杂 比如需要用户填写完整注册信息后才可以下载该文件 这时最先想到的是使用Redirect的方式 下面介绍两种方式

( )用Redirect方式 先检查表格是否已经填写完毕和完整 然后将链接指到该文件 这样用户就可以下载 请看下面的示例代码

<?php

/*文件功能 检查变量form是否完整*/

if($form){

//重新定向浏览器指向

Header( Location: // // xxx /xxx rar )

exit;

}

?>

( )根据下载文件的序号来查找 链接的形式如下

<a href= // xxx /download php?id= >点击下载文件</a>

上面的链接使用ID方式接收要下载文件的编号 然后再用Redirect的方式连接到真实的文件链接

以上这两种方法虽然实现了文件的下载功能 但是缺点是直接暴露了文件所属的路径 而且没有防盗链的功能 所以上面的方式是简单直接但存在安全隐患的文件下载方式 在PHP中 通常是利用header()函数和fread()函数来实现安全的文件下载

例如 需要下载的是一个文件名为xxx rar的文件 首先创建文件是download php的PHP文件 通过前面的例子很容易通过文件的ID号从数据库中得到待下载文件的真实位置 在获得文件的真实存储位置后 可以通过header()函数的location参数直接重定向到这个文件 但是这样仍然是不安全的 因为某些下载软件还是可以通过重定向分析获得该文件的位置信息 因此需要用另外一种方法 就是PHP的文件处理API函数 它是通过fread()函数把文件直接输出到浏览器提示用户下载 这样所有的处理都是在服务器端完成的 因此用户就无法获得文件具体存储位置信息的 示例代码如下

<?

$file_name = xxx rar ;     //下载文件名

$file_dir = /up/ ;        //下载文件存放目录

//检查文件是否存在

if (! file_exists ( $file_dir $file_name )) {

echo 文件找不到 ;

exit ()

} else {

//打开文件

$file = fopen ( $file_dir $file_name r )

//输入文件标签

Header ( Content type: application/octet stream )

Header ( Accept Ranges: bytes )

Header ( Accept Length: filesize ( $file_dir $file_name ) )

Header ( Content Disposition: attachment; filename= $file_name )

//输出文件内容

//读取文件内容并直接输出到浏览器

echo fread ( $file filesize ( $file_dir $file_name ) )

fclose ( $file )

exit ()

}

?>

【代码解读】

上述代码中 程序发送Header信息是用来告诉Apache和浏览器下载文件的相关信息的 content type的含义代表文件MIME类型是文件流格式 如果在Apache配置里面把文件的MIME类型设为application/octet stream(如add application/octet stream xxx rar) 那么浏览器(客户端)就会知道 这是一个文件流格式的文件并提示用户下载 Accept Ranges是一个响应头标 它允许服务器指明将在给定的偏移和长度处 为资源组成部分的接受请求 该头标的值被理解为请求范围的度量单位 Content Length是指定包含于请求或响应中数据的字节长度 例如 Content Length: Content Disposition:attachment是用来告诉浏览器 文件是可以当做附件被下载 下载后的文件名称为$file_name该变量的值

运行download php文件 效果如图 所示 从图中可以看到文件按照预想的方式被提示下载 单击 保存 按钮将文件保存在本地

图   PHP文件安全下载

       返回目录 PHP典型模块与项目实战大全

       编辑推荐

       Java Web开发详解

       PHP Web开发学习实录

lishixinzhi/Article/program/PHP/201311/21519

从csdn下载的文件包怎么都是php文件?

你的意思是下载的zip文件包中的文件是php文件,还是说本来应该是文件包的,但是下载之后却是php文件?如果是后者的话,我认为你的下载方式有问题,按照步骤点击下载就OK,如果右键使用工具的话,可能操作上有问题。

php服务器升级怎么写 csdn

服务器类型 CentOS 6.5

因为项目要用到php5.4以上的新功能 目前服务器还是用php5.3.8版本 所以升级版本就非常需要了。

首先 连上服务器  先把 PHP-fpm服务关闭(其实不影响的,因为程序在内存里面跑 不关也没事的) 然后 先把 /usr/local/php 重命名 以防止如果新版本更新失败 回滚

[plain] view plain copy 在CODE上查看代码片派生到我的代码片

mv /usr/local/php  /usr/local/php5.3.8

然后 下载最新版本php5.6.3 并且解压

[plain] view plain copy 在CODE上查看代码片派生到我的代码片

wget

php.net/distributions/php-5.6.3.tar.gz

tar -zxvf  php-5.6.3.tar.gz

因为是升级 所以 php很多依赖包我都已经装过了  先贴上我的 configure 配置参数

[plain] view plain copy 在CODE上查看代码片派生到我的代码片

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-fpm-user=www --with-fpm-group=www  --enable-fpm --enable-opcache --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --disable-fileinfo   --with-iconv-dir=/usr/local  --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml   --disable-rpath --enable-bcmath --enable-shmop --enable-exif --enable-sysvsem --enable-inline-optimization --with-curl   --enable-mbregex --enable-mbstring  --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash  --enable-pcntl --enable-sockets --with-xmlrpc --enable-ftp --with-gettext --enable-zip --enable-soap --disable-ipv6  --disable-debug

其中 最为注意的是   开启 opcache  可以缓存opcode 提高php性能

还有 --disable-debug --disable-ipv6  关闭 debug ipv6  可以提升性能

第一次make 出错了

[plain] view plain copy 在CODE上查看代码片派生到我的代码片

ext/iconv/.libs/iconv.o: In function `php_iconv_stream_filter_ctor':

/home/king/php-5.2.13/ext/iconv/iconv.c:2491: undefined reference to `libiconv_open'

collect2: ld returned 1 exit status

make: *** [sapi/cli/php] Error 1

网上找到解决办法

在安装 PHP 到系统中时要是发生「undefined reference to libiconv_open'」之类的错误信息,那表示在「./configure 」没抓好一些环境变数值。错误发生点在建立「-o sapi/cli/php」是出错,没给到要 link 的 iconv 函式库参数。 解决方法:编辑Makefile 大约77 行左右的地方: EXTRA_LIBS = ..... -lcrypt 在最后加上 -liconv,例如: EXTRA_LIBS = ..... -lcrypt -liconv 然后重新再次 make 即可。

然后 重新make 顺利通过了

[plain] view plain copy 在CODE上查看代码片派生到我的代码片

make clean  #清除上次编译生成的 obj文件

make ZEND_EXTRA_LIBS='-liconv'

make install

配置 优化下 php.ini  具体参数可以百度下 都是比较容易理解的

[plain] view plain copy 在CODE上查看代码片派生到我的代码片

sed -i 's@^output_buffering =@output_buffering = On\noutput_buffering =@' /usr/local/php/etc/php.ini

sed -i 's@^;cgi.fix_pathinfo.*@cgi.fix_pathinfo=0@' /usr/local/php/etc/php.ini

sed -i 's@^short_open_tag = Off@short_open_tag = On@' /usr/local/php/etc/php.ini

sed -i 's@^expose_php = On@expose_php = Off@' /usr/local/php/etc/php.ini

sed -i 's@^request_order.*@request_order = "CGP"@' /usr/local/php/etc/php.ini

sed -i 's@^;date.timezone.*@date.timezone = Asia/Shanghai@' /usr/local/php/etc/php.ini

sed -i 's@^post_max_size.*@post_max_size = 50M@' /usr/local/php/etc/php.ini

sed -i 's@^upload_max_filesize.*@upload_max_filesize = 50M@' /usr/local/php/etc/php.ini

sed -i 's@^;upload_tmp_dir.*@upload_tmp_dir = /tmp@' /usr/local/php/etc/php.ini

sed -i 's@^max_execution_time.*@max_execution_time = 5@' /usr/local/php/etc/php.ini

sed -i 's@^disable_functions.*@disable_functions = passthru,exec,system,chroot,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,fsocket,popen@' /usr/local/php/etc/php.ini

sed -i 's@^session.cookie_httponly.*@session.cookie_httponly = 1@' /usr/local/php/etc/php.ini

sed -i 's@^mysqlnd.collect_memory_statistics.*@mysqlnd.collect_memory_statistics = On@' /usr/local/php/etc/php.ini

刚才装了 opcache 模块 这里设置下

[plain] view plain copy 在CODE上查看代码片派生到我的代码片

sed -i 's@^

opcache

@[opcache]\nzend_extension=opcache.so@' $php_install_dir/etc/php.ini

sed -i 's@^;opcache.enable=.*@opcache.enable=1@' $php_install_dir/etc/php.ini

sed -i "s@^;opcache.memory_consumption.*@opcache.memory_consumption=128" $php_install_dir/etc/php.ini

sed -i 's@^;opcache.interned_strings_buffer.*@opcache.interned_strings_buffer=8@' $php_install_dir/etc/php.ini

sed -i 's@^;opcache.max_accelerated_files.*@opcache.max_accelerated_files=4000@' $php_install_dir/etc/php.ini

sed -i 's@^;opcache.revalidate_freq.*@opcache.revalidate_freq=60@' $php_install_dir/etc/php.ini

sed -i 's@^;opcache.save_comments.*@opcache.save_comments=0@' $php_install_dir/etc/php.ini

sed -i 's@^;opcache.fast_shutdown.*@opcache.fast_shutdown=1@' $php_install_dir/etc/php.ini

sed -i 's@^;opcache.enable_cli.*@opcache.enable_cli=1@' $php_install_dir/etc/php.ini

sed -i 's@^;opcache.optimization_level.*@;opcache.optimization_level=0@' $php_install_dir/etc/php.ini

生成下 php-fpm 文件

[plain] view plain copy 在CODE上查看代码片派生到我的代码片

vim /usr/local/php/etc/php-fpm.conf

[global]

pid = /usr/local/php/var/run/php-fpm.pid

error_log = /usr/local/php/var/log/php-fpm.log

log_level = notice

[www]

listen = /tmp/php-cgi.sock

listen.backlog = -1

listen.allowed_clients = 127.0.0.1

listen.owner = www

listen.group = www

listen.mode = 0666

user = www

group = www

pm = dynamic

pm.max_children = 10

pm.start_servers = 2

pm.min_spare_servers = 1

pm.max_spare_servers = 6

request_terminate_timeout = 100

request_slowlog_timeout = 0

slowlog = var/log/slow.log

添加到系统服务

[plain] view plain copy 在CODE上查看代码片派生到我的代码片

cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

chmod +x /etc/init.d/php-fpm

chkconfig --add php-fpm

chkconfig php-fpm on

搞定了启动

[plain] view plain copy 在CODE上查看代码片派生到我的代码片

service  php-fpm start  

手机上怎么下csdn里的东西,为什么下下来都是.php文件?

里面全是光盘映像文件,你手机下载有什么用?而且还要费很多流量!

关于php项目csdn下载的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于php项目csdn下载 php项目教程的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did207035
更新时间:2023-05-03   阅读:18次

上一篇: 包含php显示post参数的词条

下一篇:php相似度匹配算法 php相似度匹配算法公式

最新资料更新

  • 1.phptoast弹框 php 弹框
  • 2.抓取淘宝商品php 抓取淘宝商品风控
  • 3.php消息通知实例的简单介绍
  • 4.免费版仓库管理系统php 仓库管理系统php源码
  • 5.php类方法 php类方法访问变量
  • 6.韩顺平php视频教程下载 韩顺平oracle视频
  • 7.php中数据汇总 php数据统计
  • 8.免费php空间shery 免费PHP空间 免备案 V52版本
  • 9.手机打开php乱码 php乱码怎么办
  • 10.phpmywind phpmywind去重复
  • 11.php翻译sdk php翻译成中文是什么意思
  • 12.php手机端开发框架 php app开发框架
  • 13.输出jsonphp代码 js 输出json
  • 14.朔州php后台开发 朔州php培训招聘
  • 15.php数组键名排序 php数组值排序
  • 16.php内存管理垃圾回收 php的垃圾回收机制是怎样的
  • 17.bashphp的简单介绍
  • 18.php下载表格 php下载功能
  • 19.怎么开发一个php项目 php项目开发流程
  • 20.基于php在线聊天 php 在线聊天

CopyRight:2016-{hedonghua:year}{hedonghua:sitegs} 备案ICP:湘ICP备09009000号-16 {hedonghua:sitejym}
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网」
[ SiteMap ]