‘壹’ php实现文件安全下载的代码怎么用
你可以建立一个函数如下:
function download($fileName
){
Header("content-type:application/octet-stream");
Header("content-disposition:attatchment;filename:".$fileName.".torrent");
if(file_exists($fileAdd) && $file=fopen($fileAdd,"r"))//判断文件是否存在并打开
{
fread($file,filesize($fileAdd));//读取文件内容并吐给浏览器
fclose($file);
}
}
注释$fileName是文件名字,或者文件地址,最好写文件地址,你那个fileAdd这个也是文件地址吧,可以协同一个。
我看见你后面加了后缀名,所以fileName转成fileAdd需要添加后缀名
其实你最后的哪个读取文件可以用一句话ok
就是readfile($fileName);
我写的比较模糊,其实$fileName就是个文件地址。
‘贰’ php下载官网
phpweb怎么下载1、在浏览器中搜索PHP,进入php官网。
2、点击Downloads选项,进入下载页面。
3、选择一个适合的PHP版本,然后点击页面中的Windowsdownloads。
4、点击zip按钮,再点击下载按钮即可。
如何在本地机上看php???准备工作首先要下载如下软件,推荐到官网下载,如果你是像我一样只是测试,那么到skycn.com下载吧,这样比较快。
Apache
最流行的HTTP服务器软件之一。快速、可靠、可通过简单的API扩展,Perl/Python解释器可被编译到服务器中,完全免费,完全源代码开放。
我下载的是forWindows版本,目前最新版本是:2.0.54
PHP
PHP是一种HTML内嵌式的语言。而PHP独特的语法混合了C、Java、Perl以及PHP式的新语法。它可以比CGI或者Perl更快速的执行动态网页。
我下载的是forWindows版本,目前最新版本是:5.0.4
MySQL
是一个多线程的,结构化查询语言(SQL)数据库服务器。SQL在世界上是最流行的数据库语言。MySQL的执行性能非常高,运行速度非常快,并非常容易使用。
我下载的是forWindows版本,目前最新版本是:5.0.4Beta
phpMyAdmin
phpMyAdmin是一个用PHP编写的,可以通过互联网控制和操作MySQL。通过phpMyAdmin可以完全对数据库进行操作。
我下载的是forWindows版本,目前最新版本是:2.6.2-pl1
安装apache和PHP
下面是我的安装记录:
选择80端口,将apache安装在e:apache下。
配置apache里的httpd.conf文件(conf目录下)
找到DocumentRootE:/apache/Apache2/htdocs将其改为WEB目录E:/htdocs
找到DirectoryIndexindex.htmlindex.html.var在后面加入index.htmindex.phpdefault.phpdefault.html
选择模块化模式安装
找到#LoadMolessl_molemoles/mod_ssl.so这行,在此行后加入一行
LoadMolephp5_molee:/php/php5apache2.dll
找到AddTypeapplication/x-gzip.gz.tgz这行,在此行后加入一行
AddTypeapplication/x-httpd-php.php
将php-5.0.4-Win32.zip里内容解压到e:php里,找到php.ini-recommended,重命名为php.ini并拷贝到windows目录下。
NTFS上记得给服务器开PHP.ini的读权限。
查找extension_dir后面的改为e:/php/ext
查找WindowsExtensions,把下面有一排的;extension=php_***.dll的分号去掉,就是支持组件了。我把extension=php_gd2.dllextension=php_mbstring.dllextension=php_mysql.dll的分号去掉了。
php5默认不支持mysql了,所以要为他添加支持,除了extension=php_mysql.dll去分号之外,在php目录里有个libmysql.dll文件,把它复制到系统的system32文件夹下,复制php.ini到windows目录下。
此时PHP环境基本已经配置成功
在WEB根目录里建一个名为test.php的文件内容如下
?echophpinfo();?
重新启动apache服务,用浏览器打开
如果可以看到php配置输出信息就成功了
安装mysql
将mysql安装到指定目录,然后安装程序会引导你一步步配置。不过奇怪的是最后任务栏没有出现Mysql的图标。
修改mysql数据库的root密码
用cmd进入命今行模式输入如下命令:(注:d:mysql为mysql安装目录)
cdd:mysqlin
mysqladmin-uroot-ppassword123456
回车出现
Enterpassword:(注:这是叫你输入原密码.刚安装时密码为空,所以直接回车即可)
此时mysql中账号root的密码被改为123456安装完毕
配置php.ini并测试mysql
找到extension_dir=./改为extension_dir=e:/php/ext
找到
;extension=php_mysql.dll
将''去掉改为
extension=php_mysql.dll
找到
;session.save_path=/tmp
将''去掉设置你保存session的目录,如
session.save_path=e:/php/session_temp
重启apache服务
在Web根目录下建立testdb.php文件内容如下:
?php
$link=mysql_connect('localhost','root',');
if(!$link)echofail;
elseechosuccess;
mysql_close();
?
用浏览器打开如果输出success就OK了
phpmyadmin的安装配置
将phpMyAdmin-V2.6.2-pl1.zip解压到WEB根目录中去,重命名文件夹为phpmyadmin或其它
打开phpmyadmin目录中的config.inc.php
找到
$cfg['Servers'][$i]['user']='root'
$cfg['Servers'][$i]['password']='
分别填上用户名和密码
linuxphp网站怎么安装
一、安装Apache2.2.22
1、到官网下载
2、解压
tar-zxvfhttpd-2.2.22.tar.gz
3、建立目标文件夹(注意以下所有操作都时在root用户下执行的)
mkdir/usr/local/apache2
也就是说等下安装的apache2要安装到这个文件夹里面
4、配置
回到原来解压之后产生的文件夹
./configure--prefix=/usr/local/apache2--enable-mole=shared
要加上后面的参数,否则无法使用php,-enable-mole=shared表示Apache可以动态的加载模块
这一步,出现了很多问题:
第一个错误为:
checkingforAPR...no
configure:error:APRnotfound.Pleasereadthedocumentation.
解决方法:
-UtilfromApacheAPR,unpacktheminto./srclib/aprand./srclib/apr-util(;forexample,theAPRdistributionmustbeunder./srclib/apr/)
thendo
./configure--with-included-apr
原文章地址:
另外一种解决方法为:
分别安装APR和APR-util,安装方法为:首先下载这两个文件,然后解压,进入解压后目录,然后把APR和APR-util分别安装到/usr/local/文件夹的apr和apr-util文件夹下。APR的具体安装方法为:
[root@localhost52lamp]#tar-zxvfapr-1.4.2.tar.gz//unzip-oapr-1.4.2.zip
[root@localhost52lamp]#cdapr-1.4.2
[[email protected]]#./configure--prefix=/usr/local/apr
[[email protected]]#make
[[email protected]]#makeinstall
安装Apr-util在./confiure--prefix=/usr/local/apr-util--with-apr=/usr/local/apr
其他步骤类似。
第二个错误为:noacceptableCcompilerfoundin$Path
直接运行yuminstallgcc,安装Gcc即可
第三个问题为:pcre-configforlibpcrenotfound
解决方法就是下载prce安装包,和APR类似,安装到/usr/local/pcre文件夹下面即可。PS:fedora下安装c++编译器g++的命令为:yuminstallgcc-c++。
5、编译
make
6、安装
makeinstall
7、启动,重启和停止,先切换到安装完成后的目录/usr/local/apache2/bin
./apachectl-kstart
./apachectl-krestart
./apachectl-kstop
8、配置文件(满足最基本的配置)
编辑/usr/local/apache2/conf/httpd.conf文件
找到:
AddTypeapplication/x-compress.Z
AddTypeapplication/x-gzip.gz.tgz
在后面添加:
AddTypeapplication/x-httpd-php.php(使Apcche支持PHP)
AddTypeapplication/x-httpd-php-source.php5
找到:
IfMoledir_mole
DirectoryIndexindex.html
/IfMole
添加:
IfMoledir_mole
DirectoryIndexindex.htmlindex.php
/IfMole
找到:
#ServerName
修改为:
ServerName127.0.0.1:80或者ServerNamelocalhost:80
记得要去掉前面的“#”
9、测试
在浏览器里输入
如果出现ItWorks!说明成功。这是我的测试结果:O(∩_∩)O哈哈~
10、修改默认的Web站点目录
默认的目录为"/usr/local/apache2/htdocs",修改apache的配置文件httpd.conf,比如在新建一个/home/gyw/WebSite的目录作为apache的站点目录
找到DocumentRoot这一行修改为:DocumentRoot"/home/gyw/WebSite"
找到Directory这一行修改为:Directory"/home/gyw/WebSite"
测试:修改到文件夹出现错误:
“Youdon'thavepermissiontoaccess/index.htmlonthisserver.”
解决方法:
更改文件权限;chmod755index.html
打开apache配置文件httpd.conf,找到这么一段:
Directory/
OptionsFollowSymLinks
AllowOverrideNone
Orderdeny,allow
denyfromall
Satisfyall
/Directory
测试结果如下:
二、安装PHP
1、下载
2、解压
tar-zxvfphp-5.3.16.tar.gz
3、建立目标文件夹
mkdir/usr/local/php
也就是说等下安装的php要安装到这个文件夹里面
4、配置
回到原来解压后的文件夹
./configure--prefix=/usr/local/php--with-apxs2=/usr/local/apache/bin/apxs
注意这里有一个-with-apxs2=/usr/local/apache/bin/apxs选项,其中apxs是在安装Apache时产生的,apxs是一个为ApacheHTTP服务器编译和安装扩展模块的工具,使之可以用由mod_so提供的LoadMole指令在运行时加载到Apache服务器中。我的理解是通过这个工具把PHP模块动态加载到Apache中
出现错误:configure:error:xml2-confignotfound..
运行yuminstalllibxml2,然后再运行yuminstalllibxml2-devel安装完毕后,重新运行上面的./configure命令。
5、编译
make
6、测试编译
maketest
7、安装
makeinstall
8、配置文件
cp/usr/local/src/php-5.3.16/php.ini-development/usr/local/php/lib/php.ini
把原来位于源代码里面的php.ini-development拷贝到/usr/local/php/lib/php.ini下,并且重命名为php.ini
9.重启apache
10、测试
在apache的htdocs下建立一个php文件test.php,里面的内容如下:
?php
phpinfo();
?
然后在浏览器里输入
如果出现php的相关配置,成功,如果什么都没有输入,说明失败,重新以上步骤或者查找原因
如果决定在安装后改变配置选项,只需重复最后的三步configure,make,以及makeinstall,然后需要重新启动Apache使新模块生效。Apache不需要重新编译。
测试结果如下图:
三、安装MySql
1、下载
到官网下载mysql-5.1.65.tar.gz(注意是源码包)
2、解压
tar-zxvfmysql-5.1.65.tar.gz
3、建立目标文件夹
mkdir/usr/local/mysql
也就是说等下安装的mysql要安装到这个文件夹里面
4、配置
./configure--prefix=/usr/local/mysql/
在./configure时出现错误:error:Nocurses/termcaplibraryfound
下载安装相应软件包
yumlist|grepncurses
yum-yinstallncurses-devel
yuminstallncurses-devel
5、编译
make
6、安装
makeinstall
7、启动
MySQL服务并不会自动启动,还需要先初始化MySQL数据库,操作如下:
cd/usr/local/mysql/bin
sudo./mysql_install_db--user=root
注意,这里最后的root是指可以操作数据库的用户,可以是当前用户,也可以新建用户,与linux上的root用户是两回事,可以自己取一个名字
./mysqld_safe--user=root这条命令负责启动mysql服务的守护进程,此外最后的时必须的,因为希望守护进程在后台运行
这里的root就是刚才的那个
8、为根用户创建密码
./mysqladmin-urootpassword‘123456’
如果root已经设置过密码,采用如下方法
./mysqladmin-urootpasswordoldpass‘123456’
9、测试
mysql-uroot-p
会提示输入密码,就用刚才设置的密码
123456
如果出现mysql,说明连接成功了,下面通过命令创建一个数据库、建一个表,增加一条记录,为后面的测试准备
mysqlcreatedatabasegywtest;
mysqlusegywtest;
mysqlcreatetablestudent(idint(4)notnullprimarykeyauto_increment,stunamechar(20));
mysqlinsertintostudent(stuname)values('Tom');
注意每条命令后面有个分号,如果上面的都成功,后面就可以用这个测试。
四、将PHP与MySql结合起来
1、重新配置PHP,改变配置选项,只需重复PHP安装时的最后的三步configure,make,以及makeinstall,然后需要重新启动Apache使新模块生效,Apache不需要重新编译。
2、配置
./configure--prefix=/usr/local/php--with-apxs2=/usr/local/apache2/bin/apxs--with-mysqli=/usr/local/mysql/bin/mysql_config注意mysql_config的路径
3、编译make
4、安装makeinstalle
5、测试写一个页面test.php,放在apache的web目录下,测试上面用命令创建的数据库
?php
$mysqli=newmysqli();
$mysqli-connect('localhost','root',','gywtest');
//创建查询
$sqlstr='select*fromstudent'
//发送查询给MySql
$result=$mysqli-query($sqlstr);
while($row=$result-fetch_object())
{
$name=$row-stuname;
echo$name;
}
?
Fatalerror:Class'mysqli'notfoundin/home/lufangtao/Project/DB.phponline3
解决方法:
/usr/local/php/bin/phpize这里回车运行
出错:
Cannotfindconfig.m4.
Makesurethatyourun'./phpize'
解决方法:
PHP源码包文件夹下的EXT文件夹就是放置着目前版本的可用扩展,CD进去看看都有哪些你需要的?应该看到mysqli文件夹了吧~~~
在当前目录下执行phpize
[root@localhostmysqli]#/usr/local/php/bin/phpize
Configuringfor:
PHPApiVersion:20090626
ZendModeuleApiNo:20090626
ZendExtensionApiNo:220090626
Cannotfindautoconf.
$PHP_AUTOCONFenvironmentvariable.Then,rerunthisscript.
解决方法:
yuminstallautoconf再次运行上面的命令即可。
[root@localhostmysqli]#./configure–prefix=/opt/mysqli–with-php-config=/opt/php/bin/php-config–with-mysqli=/opt/mysql/bin/mysql_config
[root@localhostmysqli]#make
[root@localhostmysqli]#makeinstall
安装完成后会有提示扩展所在目录路径,如:
/opt/php/lib/php/extensions/no-debug-zts-20090626php
所需的mysqli.so便会在此目录下,接下来修改/opt/php/etc/下的php.ini文件,加入mysqli扩展,即加入如下一行:
extension=/opt/php/lib/php/extensions/no-debug-zts-20090626/mysqli.so
这里还是回出现错误:
参考博客
解决不用扩展连接MySQL的方法。
最终
‘叁’ 求一个PHP跳转代码很简单
这里提供了一个简单的PHP代码示例,用于随机跳转到预设的网站。具体代码如下:
$JumpURL = array("www..com", "www.google.com", "www.qq.com"); 这行代码定义了一个数组,包含三个跳转目标网站的URL。
$randNum = rand(0, 2); 这行代码生成一个0到2之间的随机数,用于选择数组中的一个元素。
header("Location: http://$JumpURL[$randNum] "); 最后这行代码执行跳转,根据生成的随机数选择数组中的一个URL,并进行跳转。
这个简单的PHP代码能够实现随机跳转到预设的网站,我自己尝试了一下,确实可以正常工作,每次运行都会随机打开一个网站。
需要注意的是,在使用这个代码时,确保目标URL是正确的,并且服务器允许执行HTTP头部重定向。此外,如果需要跳转到HTTPS网站,记得将URL中的“http://”改为“https://”。当然,这个代码也可以根据需要调整目标网站的数量和内容。
简单来说,这段代码通过生成随机数来选择数组中的一个URL,然后通过HTTP头部重定向实现跳转。这种方式可以应用于各种场景,例如广告推广、网站测试等。
如果你希望实现更复杂的功能,比如根据用户偏好选择跳转目标,可以考虑在此基础上进行扩展。
总之,这是一个非常实用且简单的PHP跳转代码示例,希望能够对你有所帮助。
‘肆’ 求php能用的下载文件代码,尽量快
php 下载主要就三点吧
1。得到文件$file
2。书写固定的html头部
header("")
比如
header("Content-Type:text/plain");
header("Accept-Ranges:bytes");
header("Accept-Length:".filesize($file));
header("Content-Disposition: attachment;filename=".basename($file));
3。打开文件并读取
比如
$fp = fopen($filename, 'rb');
@flock($fp,2);
$downloadfile = fread($fp, filesize($file));
@fclose($fp);
echo $downloadfile;
一般这样就可以了八
‘伍’ 我用PHP测试文件下载功能,但是下载下来的图片却总是损坏的,代码如下:
<?php
header("Content-type:image/pjpeg");
echofile_get_contents("./201404/1.jpg");
?>
‘陆’ PHP中怎么用代码实现文件下载
CI框架:
前台:a.php <a href="download/export">download</a>
后台:download.php
function export(){
//把js,css的路径文件名填充下面的$url和$fname就可以了
//至于html文件,先在后台生成一个html文件,然后下载就可以了
$fname=date('YmdHis').'.xls';
$url='./xls/'.$fname;
$this->excel_m->write($url);
$file = fopen($url,"r"); // 打开文件
// 输入文件标签
header('Content-Encoding: utf-8');
header("Content-type: application/octet-stream");
header("Accept-Ranges: bytes");
header("Accept-Length: ".filesize($url));
header('Content-Transfer-Encoding: binary' );
header("Content-Disposition: attachment; filename=" .$fname); //以真实文件名提供给浏览器下载
header('Pragma: no-cache');
header('Expires: 0');
//输出文件内容
echo fread($file,filesize($url));
fclose($file);
}