php下载

Ubuntu官方中国版!开源优麒麟20.04.1升级发布 多达418处更新

优麒麟(Ubuntu Kylin)是由麒麟软件公司主导开发的全球开源项目,也是Ubuntu的官方衍生版本,专注于研发“友好易用,简单轻松”的桌面环境。

今年4月份,优麒麟跟随Ubuntu的节奏,也发布了20.04 LTS长期支持正式版,之后根据用户反馈建议,针对存在的问题,先后发布了4次系统更新。

今天,优麒麟20.04.1发布了,这也是该系统的第一个更新镜像,包括x86版本、树莓派版本。

优麒麟20.04.1总共有多达418处更新,包括集成此前四次系统更新的269处修改,进行了全面的安全升级、Bug修复、稳定性提升,比如优化4K支持、3D显示性能提升46%、修复USN-4432-1(GRUB 2漏洞)、应用商店持续上新等。

10月22日,优麒麟20.10也将随同Ubuntu 20.10正式发布。

功能改进与BUG修复一览:

- 开始菜单

新增自适应透明度变化;

新增国际化翻译文件安装至本地;

修复软件列表部分软件图标缺失问题;

修复开始菜单响应win快捷键问题;

- 文件管理器

新增进度动画,重构文件操作界面;

新增格式化功能;

新增常用快捷键(切换视图模式,改变图标大小,关闭全部窗口,拖动文件复制等);

新增卸载应用后,自动删除其对应桌面快捷方式;

修复桌面图标重叠,刷新显示异常等问题;

修复升级失败的包依赖问题;

修复开机首次打开计算机卡顿问题;

修复文件名包含部分特殊字符显示异常的问题;

修复用户反馈的列表视图下排序问题;

修复列表视图下,只能选中文件名拖动文件,拖动文件变复制,取消全选困难问题;

修复卸载光盘,光驱不能自动弹出问题;

修复设置禁用缩略图不能马上生效问题;

修复取消窗口置顶不生效问题;

修复重命名文件不能自动选中右括号问题;

修复不能创建与文件夹同名文本文件问题;

修复直接从回收站拖动文件复制到其他路径问题;

修复进入无权限文件夹一直转圈问题;

优化桌面底层代码,图标布局更加合理与稳定;

优化搜索体验,一键切换退出搜索,清空关键词后显示全部文件,添加WPS文件分类筛选;

- 文件管理器插件

新增peony-admin插件;

修复侧边栏挂载设备状态不一致问题;

优化计算机界面,离线即时刷新;

- 任务栏

新增任务栏跟随控制面板透明度变化;

修复更改鼠标主题后任务栏不生效;

修复日历界面周数显示错误;

修复更改系统时间后点击两次日历才更新时间;

修复锁定任务栏之后右键系统监视器无法打开;

修复低分辨率时日历显示在任务栏之上;

修复日历界面无圆角;

修复无法自动刷新gsetting问题;

优化4K支持;

- 控制面板

新增双击窗口顶部放大缩小功能;

新增鼠标双击间隔设置;

新增电源、盒盖设置;

新增无操作变暗设置;

修复多次恢复默认字体导致界面卡死;

修复设置锁屏壁纸在登录页面无效;

修复锁屏预览模糊;

修复从其他屏保切换到默认屏保后预览卡住未更新;

修复登录云账户后,屏保时间和壁纸设置不会自动同步;

修复高频率删除用户时导致控制面板崩溃;

修复无法设置头像,深色模式部分下拉框无选中效果;

修复最大化再恢复后,用户模块显示异常无法删除用户;

修复保留删除用户方式重新建立相同用户无法登录;

修复物理机设置屏幕配置重启不生效;

修复对于acc等格式的音乐文件选择打开默认应用无效;

修复打开时间和日期的时区地图未置顶;

修复高分屏下时间和日期的世界地图显示错误;

修复英文环境下CPU占用率高;

修复光标无法恢复默认;

修复新装系统选择时区与控制面板不一致;

修复台式机打开控制面板弹出插入网卡提示;

修复QWidgetlist无选中效果;

修复QCombox激活状态无边框;

- 软件商店

新增奇安信浏览器;

升级百度网盘;

升级WPS办公软件;

升级亿图项目管理软件;

升级极点五笔;

升级VSCode;

- 守护程序

新增4K缩放机制,支持GTK图标缩放;

修复触摸屏屏幕旋转时,鼠标位置和触点不匹配;

修复鼠标定位与快捷键冲突;

修复鼠标主题,设置为黑色,部分程序偶发不生效;

- 云账户

修复壁纸注销后重启丢失;

修复统一用户中心以及界面内部代码错误;

优化网络速度慢时的交互;

优化UI界面;

- 会话管理

新增关机界面键盘支持;

新增关机界面低分辨率时重新布局;

新增关机界面壁纸跟随桌面壁纸变化;

修复在关机界面执行关机/重启,授权验证无法输入密码;

修复inhibit阻止关机后,session仍会注销;

优化开机启动,去掉重复拉起;

- 主体框架

修改毛玻璃开启的协议;

修复右击菜单不可用字体颜色;

- 麒麟助手

新增主窗体的边框阴影;

修复CPU策略管理提示框异常;

修复无法打开麒麟应用商店;

- 麒麟影音

新增点击音量滑动条控件修改音量大小;

新增4K屏幕显示支持;

新增窗口最小化再恢复后,保存最小化之前的窗口状态;

修复从播放列表中删除当前未播放文件导致的视频切换;

修复最小化后视频暂停播放;

优化界面上工具栏的图标;

优化全屏模式下自动隐藏标题栏和工具栏;

- 窗口管理器

3D性能提升46%;

- 用户手册

修复主页英文状态下的应用名称异常;

修复4K屏上图片不显示;

修复主页面应用板块显示卡顿;

- U盘管理工具

新增空光盘和普通光盘的分类识别;

新增跟随控制面板透明度调节;

修复未同步通过文件管理器卸载的移动设备;

- 搜狗输入法

新增4K屏显示支持(状态栏和输入法窗口);

修复已知五笔显示等bug;

- 电源管理

新增跟随控制面板透明度变化;

优化适应毛玻璃;

优化4K支持;

移除dbusglib的依赖;

- 声音管理

新增跟随控制面板透明度变化功能;

新增设置提示音开关;

修复切换网易云音乐至下一首时,应用音量自动减少;

修复打开控制面板导致系统无声音;

优化4K支持;

- 系统监视器

新增方法进程网络使用情况功能;

新增跟随控制面板透明度调节;

- 系统主题

新增声音、扫描仪、软件中心三款app图标;

新增google完整尺寸图标;

修复上百款图标在深色主题下无法识别;

修复文件夹及快捷菜单中的链接图标显示异常;

修复4K下的文件管理器中标签关闭按钮显示异常;

修复在桌面对文件夹、视频缩放时图标显示异常;

修复任务栏U盘图标模糊;

修复音频播放器界面中图标显示异常;

修复网络邻居与网络链接图标不匹配;

优化主题结构文件,删除512尺寸图标;

优化天气系列图标为彩色图标;

- 侧边栏

新增跟随控制面;板透明度变化;

修复剪贴板无滑动条时,鼠标悬浮剪贴条目按钮未显示;

优化文件和目录名称;

优化插件加载路径;

优化4K支持;

- 便签本

新增系统主题适配;

新增清空便签功能;

新增边框阴影效果;

修复时间显示不全问题;

修复黑色主题下menu图标丢失;

修复清空后计数不更新;

修复拖动重叠;

优化4K支持;

- 工作区

修复背景图片不跟随桌面变化;

修复处在非第一个工作区时,打开多任务视图会闪现第一工作区视图;

修复在多任务视图中选择工作区,退出视图后工作区不会切换;

- 网络工具

新增跟随控制面板透明度变化;

新增毛玻璃效果自启;

修复树莓派版本中有线网络无法连接;

修复有线网自动分配ip时,连接网络显示与ifconfig相同的ipv4与ipv6;

修复WiFi连接后再关闭WiFi,托盘仍显示WiFi连接;

修复在新建有线网络后,有线网界面未出现新增网络项;

修复部分笔记本电脑无法开启WiFi开关;

优化UI效果;

- 麒麟天气

修复按下Alt+F8,并拖动鼠标调整窗口大小,页面内容显示不完整;

- 闹钟

修复日期全部勾选取消会导致闹钟卡死;

优化4K支持;

用户反馈

优化4K支持;

上游更新:

https://wiki.ubuntu.com/FocalFossa/ReleaseNotes/ChangeSummary/20.04.1

版本详情:

http://distrowatch.com/table.php?distribution=ubuntukylin

更新方式:

1、通过官网下载20.04.1镜像安装:

x86下载:

https://www.ubuntukylin.com/downloads/download.php?id=73

树莓派下载:

https://www.ubuntukylin.com/downloads/download.php?id=75

2、从优麒麟官网下载安装20.04的用户直接升级:

$ sudo apt update

$ sudo apt full-upgrade

3、从低版本升级至20.04的用户,安装密钥包后升级:

a)下载密钥包(此步骤只需执行一次,已添加过的用户,跳过此步):

UKUI源:

https://github.com/ukui/ukui-keyring/releases/download/v2020.04.25/ukui-keyring_2020.04.25_all.deb

第三方软件源:

https://github.com/UbuntuKylin/kylin-software-keyring/releases/download/v2020.04.25/kylin-software-keyring_2020.04.25_all.deb

b)安装密钥包(此步骤只需执行一次,已添加过的用户跳过):

$ cd ~/下载

$ sudo dpkg -i ukui-keyring_2020.04.25_all.deb kylin-software-keyring_2020.04.25_all.deb

c)更新:

$ sudo apt update

$ sudo apt full-upgrade

展开
收起

Kotlin 1.2和PHP 7.2扎堆发新(附源码下载)

【IT168资讯】自从Kotlin获得了Android的官方支持,就备受关注。JetBrains称Kotlin 1.2是其的主要版本,开发人员可以在JVM和JS之间重用代码。该发布声明指出,现在可以编写一次应用程序的业务逻辑,同时重用于前后端和Android移动应用程序,支持多平台项目。目前我们发现IntelliJ IDEA 2017.3已经绑定了Kotlin 1.2,如果是使用Android Studio或更旧版本的IntelliJ IDEA可以获取更新。

JetBrains表示,与Kotlin 1.1相比,Kotlin1.2提供25%的性能提升,在1.2.x更新中,性能将进一步提高。

▲图片来自JetBrains

当然,目前Kotlin正在语言和标准库方面还在做一些改进,例如通过一个更加简洁的语法将多个参数传递给注释。有关Kotlin1.2的更多详细信息可以查看:https://blog.jetbrains.com/kotlin/2017/11/kotlin-1-2-released/

PHP 7.2发新

作为PHP 7系列的第二个特性更新,PHP 7.2.0不负众望带有许多改进和功能。大家可以在下面这个地址下载源码:http://php.net/releases/7_2_0.php

根据发行说明,主要改进和新功能包括转换对象/数组转换中的数字键,对象类型提示,计数不可数对象以及将HasContext作为对象。

PHP 7.2也将TLS常量改进为理智的值。Mycrypt扩展已被删除,添加了新的sodium extension 。

展开
收起

PHP技巧之操作FTP类包括 {上传、下载、移动、创建等}

1.使用PHP操作FTP-用法<?php // 联接FTP服务器 $conn = ftp_connect(ftp.server.com); // 使用username和password登录 ftp_login($conn, “john”, “doe”); // 获取远端系统类型 ftp_systype($conn); // 列示文件 $filelist = ftp_nlist($conn, “.”); // 下载文件 ftp_get($conn, “data.zip”, “data.zip”, FTP_BINARY); // 关闭联接 ftp_quit($conn); //初结化一个FTP联接,PHP提供了ftp_connect()这个函数,它使用主机名称和端口作为参数。在上面的例子里,主机名字为 “ftp.server.com”;如果端口没指定,PHP将会使用“21”作为缺省端口来建立联接。 //联接成功后ftp_connect()传回一个handle句柄;这个handle将被以后使用的FTP函数使用。 $conn = ftp_connect(ftp.server.com); //一旦建立联接,使用ftp_login()发送一个用户名称和用户密码。你可以看到,这个函数ftp_login()使用了 ftp_connect()函数传来的handle,以确定用户名和密码能被提交到正确的服务器。 ftp_login($conn, “john”, “doe”); // close connection ftp_quit($conn); //登录了FTP服务器,PHP提供了一些函数,它们能获取一些关于系统和文件以及目录的信息。 ftp_pwd() //获取当前所在的目录 $here = ftp_pwd($conn); //获取服务器端系统信息ftp_systype() $server_os = ftp_systype($conn); //被动模式(PASV)的开关,打开或关闭PASV(1表示开) ftp_pasv($conn, 1); //进入目录中用ftp_chdir()函数,它接受一个目录名作为参数。 ftp_chdir($conn, “public_html”); //回到所在的目录父目录用ftp_cdup()实现 ftp_cdup($conn); //建立或移动一个目录,这要使用ftp_mkdir()和ftp_rmdir()函数;注意:ftp_mkdir()建立成功的话,就会返回新建立的目录名。 ftp_mkdir($conn, “test”); ftp_rmdir($conn, “test”); //上传文件,ftp_put()函数能很好的胜任,它需要你指定一个本地文件名,上传后的文件名以及传输的类型。比方说:如果你想上传 “abc.txt”这个文件,上传后命名为“xyz.txt”,命令应该是这样: ftp_put($conn, “xyz.txt”, “abc.txt”, FTP_ASCII); //下载文件:PHP所提供的函数是ftp_get(),它也需要一个服务器上文件名,下载后的文件名,以及传输类型作为参数,例如:服务器端文件为his.zip,你想下载至本地机,并命名为hers.zip,命令如下: ftp_get($conn, “hers.zip”, “his.zip”, FTP_BINARY); //PHP提供两种方法:一种是简单列示文件名和目录,另一种就是详细的列示文件的大小,权限,创立时间等信息。 //第一种使用ftp_nlist()函数,第二种用ftp_rawlist().两种函数都需要一个目录名做为参数,都返回目录列做为一个数组,数组的每一个元素相当于列表的一行。 $filelist = ftp_nlist($conn, “.”); //函数ftp_size(),它返回你所指定的文件的大小,使用BITES作为单位。要指出的是,如果它返回的是 “-1”的话,意味着这是一个目录 $filelist = ftp_size($conn, “data.zip”); ?> 2. FTP上传类 (ftp.php)<?php /******************************************** * MODULE:FTP类 *******************************************/ class ftp { public $off; // 返回操作状态(成功/失败) public $conn_id; // FTP连接 /** * 方法:FTP连接 * @FTP_HOST -- FTP主机 * @FTP_PORT -- 端口 * @FTP_USER -- 用户名 * @FTP_PASS -- 密码 */ function __construct($FTP_HOST,$FTP_PORT,$FTP_USER,$FTP_PASS) { $this->conn_id = @ftp_connect($FTP_HOST,$FTP_PORT) or die("FTP服务器连接失败"); @ftp_login($this->conn_id,$FTP_USER,$FTP_PASS) or die("FTP服务器登陆失败"); @ftp_pasv($this->conn_id,1); // 打开被动模拟 } /** * 方法:上传文件 * @path -- 本地路径 * @newpath -- 上传路径 * @type -- 若目标目录不存在则新建 */ function up_file($path,$newpath,$type=true) { if($type) $this->dir_mkdirs($newpath); $this->off = @ftp_put($this->conn_id,$newpath,$path,FTP_BINARY); if(!$this->off) echo "文件上传失败,请检查权限及路径是否正确!"; } /** * 方法:移动文件 * @path -- 原路径 * @newpath -- 新路径 * @type -- 若目标目录不存在则新建 */ function move_file($path,$newpath,$type=true) { if($type) $this->dir_mkdirs($newpath); $this->off = @ftp_rename($this->conn_id,$path,$newpath); if(!$this->off) echo "文件移动失败,请检查权限及原路径是否正确!"; } /** * 方法:复制文件 * 说明:由于FTP无复制命令,本方法变通操作为:下载后再上传到新的路径 * @path -- 原路径 * @newpath -- 新路径 * @type -- 若目标目录不存在则新建 */ function copy_file($path,$newpath,$type=true) { $downpath = "c:/tmp.dat"; $this->off = @ftp_get($this->conn_id,$downpath,$path,FTP_BINARY);// 下载 if(!$this->off) echo "文件复制失败,请检查权限及原路径是否正确!"; $this->up_file($downpath,$newpath,$type); } /** * 方法:删除文件 * @path -- 路径 */ function del_file($path) { $this->off = @ftp_delete($this->conn_id,$path); if(!$this->off) echo "文件删除失败,请检查权限及路径是否正确!"; } /** * 方法:生成目录 * @path -- 路径 */ function dir_mkdirs($path) { $path_arr = explode('/',$path); // 取目录数组 $file_name = array_pop($path_arr); // 弹出文件名 $path_p = count($path_arr); // 取层数 foreach($path_arr as $val) // 创建目录 { if(@ftp_chdir($this->conn_id,$val) == FALSE) { $tmp = @ftp_mkdir($this->conn_id,$val); if($tmp == FALSE) { echo "目录创建失败,请检查权限及路径是否正确!"; exit; } @ftp_chdir($this->conn_id,$val); } } for($i=1;$i<=$path_p;$i++) // 回退到根 { @ftp_cdup($this->conn_id); } } /** * 方法:关闭FTP连接 */ function close() { @ftp_close($this->conn_id); } } // class class_ftp end /************************************** 测试 *********************************** $ftp = new ftp('222.13.67.42',21,'hlj','123456'); // 打开FTP连接 $ftp->up_file('aa.wav','test/13548957217/bb.wav'); // 上传文件 //$ftp->move_file('aaa/aaa.php','aaa.php'); // 移动文件 //$ftp->copy_file('aaa.php','aaa/aaa.php'); // 复制文件 //$ftp->del_file('aaa.php'); // 删除文件 $ftp->close(); // 关闭FTP连接 //******************************************************************************/ 3. PHP用FTP函数创建目录<?php // create directory through FTP connection function FtpMkdir($path, $newDir) { $server='ftp.yourserver.com'; // ftp server $connection = ftp_connect($server); // connection // login to ftp server $user = "me"; $pass = "password"; $result = ftp_login($connection, $user, $pass); // check if connection was made if ((!$connection) || (!$result)) { return false; exit(); } else { ftp_chdir($connection, $path); // go to destination dir if(ftp_mkdir($connection,$newDir)) { // create directory return $newDir; } else { return false; } ftp_close($conn_id); // close connection } } ?>

展开
收起

3分钟短文|PHP下载小小的网络资源文件,用啥办法最快?

引言

在程序内下载资源文件,这本身就是一个充满了不确定因素的事情。可能会因为网络超时连接中断,或者程序故障抛出各种异常,在实际中我们一般要避免在程序流程中下载文件。

如果是实在无法避免,用什么办法比较高效呢?或者说比较轻量级呢?本文就来说一说。

学习时间

最直接的办法就是使用内置函数 file_get_contents。参数形式如下:

int file_put_contents( string $filename, mixed $data[, int $flags = 0[, resource $context]] )

这个函数设计的很巧妙,兼容了很多场景下的使用。我们只需要按照相应的参数填入,就可以组装出各种各样的功能。

如果是下载资源,那么会分为两步。第一,把远程资源拿到本地。第二,把该资源写入本地文件。使用代码实现如下:

file_put_contents("Tmpfile.zip", fopen("http://someurl/file.zip", 'r'));

其中在位置参数 $data 的位置,传入了一个fopen生成的文件句柄。

根据函数手册上所说,如果$data 指定的是流,则该流的缓冲区将被复制到指定的文件。对标的函数是 stream_copy_to_stream。那样写起来就得是这样的:

是不是没有file_put_contents精简。难怪很多敲代码的老司机,习惯于使用这一个函数进行网络请求呢!

文件操作

纯粹使用文件操作,也没有问题,使用PHP提供的 fopen fclose fwrite fread 等函数,完全可以胜任。我们将其封装为一个助手函数:

因为不能确定原始文件的长度,在读写的时候,需要注意缓存区的大小,分块读入和写入。其中参数 1024 * 8,指定每次读写 8K 字节。使用 feof 判断文件是否到尾部。

网络请求

既然是网络资源文件,使用上面的函数,无非都要发起 HTTP 请求。既然是网络请求,何不把这个功能交给 cURL 呢?这样对于请求头,请求体,响应体等等全程 HTTP 环节,都可以在程序内操作,容错性肯定不差。

下面我们使用 cURL 库进行文件请求操作:

如果是小小的资源文件,下载起来不费时间,也不会阻碍接下来的流程。如果是超大文件,费时间,而且还可能中断,有没有断点续传?有没有自动压缩?这都是问题。

所以,使用网络请求下载大文件,这已经超出了 PHP 内置函数的范畴。我们需要功能更为强大的下载器,多资源,多线程,断线续传,自动重试。

写在最后

本文通过3中方法对比了实现小文件下载的功能,各有优劣,根据不同的场景需要开发者做出适当的选择。

Happy coding :_)

我是 @程序员小助手 ,持续分享编程知识,欢迎关注。

展开
收起

PHP情人节自动生成表白小程序下载

浪漫七夕 为爱绽放 表白神器为你助力!程序男也可以很浪漫!

今天站主把这款程序分享出来,如果你需要,可以拿去使用。程序中图片和文字都可进行替换编辑,还自带背景音乐(谷歌浏览器无法放出音乐)

程序运行原理:给页面文字添加span标签,设置id="text-xx"唯一属性,使用contenteditable="true",开启该元素的编辑模式,用jQuery属性.click()判断点击,用.text()返回此元素的文本内容,并用正则进行判断内容是否合法,然后通过AJAX POST给php处理,php对传入的参数进行过滤,然后读取模版文件,替换模版文件对应内容,保存为新文件并记录操作,最后返回数据给前端,前端处理数据并更新页面。

使用说明:上传解压后的文件夹love到网站根目录,通过 http://你的域名/love/ 进行访问

展开
收起

下载一个公司网站模板,后台是php好还是asp好?

要建立一个公司网站,虽然说可以下载网站模板来建站,但是很多小白用户对网站模板的后台不是很了解,主要是后台源码,目前网站模板的后台源码有:php、asp、asp.net、java等,目前国内这几个是主流的后台源码,但是使用的比较多的还是php和asp类型的,那对于建一个公司网站来说,是要下载php源码类的模板好还是asp类源码好呢?

技术性的分析就不一一介绍了。

下面海站格根据多年的模板建站经验按照下面3个基本要素给大家分析下php源码和asp源码区别?

一:运行速度

ASP:ASP是建立在COM体系结构之上的。当用VBScript写ASP脚本时,实际上实在使用COM的对象,当向用户浏览器发送信息时,它用的是Response对象的write方法,当它访问数据库和文件系统的时候,它用的是其他的COM对象。这些COM对象的使用使运行速度下降。

PHP:在PHP代码中,所有的工作都运行在PHP的内存空间中,也就是说PHP不是基于COM对象的,所以的他的运行速度会快一些;

所以哪个运行速度要快一些,相信大家肯定会选择php!

php源码

二:对主机要求

ASP由于其语言结构,所以asp的网站模板对ASP主机的服务器资源比PHP主机的服务器占用更高;

但是相同配置的php环境的稳定性更好,对内存消耗更少速度更快,而且asp主机的价格也是高于php主机的,所以从对主机要求可以认为php主机更加的稳定价格也更低!

三:网站维护

Asp语言网站目前占有的市场已经不能和php网站相提并论,由于网站优化的要求,php语言所搭建的网站基本上都能符合网站优化要求,并且由于php主机可以伪静态化网站,即使有动态网站路径产生,也可以伪静态化,而对于asp网站这些是做不到的。

并且由于php系统的网站大多数是开源的系统,具有很多函数库,资源丰富,并且后期的网站迁移,数据库同步,在线压缩等对于相同大小的网站php系统的网站所需时间更少。而asp文件所需时间更长。

从上面基本的3个方面分析,相信大家对于建一个公司网站来说选择哪种语言的模板有更清楚的放向吧!

目前建立一个网站大多数用的还是php源码的网站比较多,因为php所要求的网站搭建环境是php+mysql,而这类环境的主机相当多,而符合asp网站所需的环境ASP+access的主机已经不多,即使有价格也是比php的高。

所以很容易得出一个答案:建立公司网站用php源码的网站模板比较好!

展开
收起

PHP7.1.1和7.0.15正式发布:源码下载

1月19日消息 作为全球最流行的编程语言之一,PHP语言目前服务于全球超过81.7%的网站,今日,PHP 7的更新版PHP 7.1.1和7.0.15已正式发布,有需要的IT之家网友可以在此下载。IT之家

PHP 7.1 (7.1.1)

下载源代码[26.15MB]

VC14 x86 Non Thread Safe (2017-Jan-18 21:06:18)

Zip[21.25MB]

sha1: 0617423638b708c0bc2187b82d5d02757a5bbc80

Debug Pack[20.65MB]

sha1: a26857db59b3fea82a1b693d0ea2162eb309cbfb

VC14 x86 Thread Safe (2017-Jan-18 21:06:49)

Zip[21.29MB]

sha1: 5f80a93f4fcdc3caa2faae182e39a0b69be3397f

Debug Pack[20.68MB]

sha1: 7ae69a1608a732282f2bd833983327d49449f3d2

VC14 x64 Non Thread Safe (2017-Jan-18 21:06:20)

Zip[23.21MB]

sha1: aede63d1123d3a586fad1b669a0e52cc8bba5e4b

Debug Pack[20.76MB]

sha1: 4c7f5191b88edfeb98b67ea413deca8c14be2b68

VC14 x64 Thread Safe (2017-Jan-18 21:06:35)

Zip[23.28MB]

sha1: 84aefb5b1f4148a1895e8ae88726279a57850629

Debug Pack[20.74MB]

sha1: b0111a94fb646bcef1f149bbfa3e8e735895d7f6

PHP 7.0 (7.0.15)

下载源代码[25.5MB]

VC14 x86 Non Thread Safe (2017-Jan-18 00:32:27)

Zip[21.11MB]

sha1: 59f936916e365f70fbeb9c106db1355cee9c0e14

Debug Pack[20.12MB]

sha1: 3ae9b4a2ac20be8f58db638e61ca9f1ece07ef75

VC14 x86 Thread Safe (2017-Jan-18 00:32:27)

Zip[21.17MB]

sha1: 120b7f2bbd153c7bafccf3381f63f8190bdea992

Debug Pack[20.22MB]

sha1: 28a7d49556b92bef809e58dcb076c6b2270051de

VC14 x64 Non Thread Safe (2017-Jan-18 00:32:26)

Zip[23.05MB]

sha1: 320d247d5087f5129082a47215578b9b047ae959

Debug Pack[20.22MB]

sha1: 162e1b0669ea3989b89986169456963cfdf7097e

VC14 x64 Thread Safe (2017-Jan-18 00:32:28)

Zip[23.14MB]

sha1: d49f5fb61edba9a7d53d469f11d7ec13f1207d86

Debug Pack[20.26MB]

sha1: 36d12a89b90accedfcbf24ca3b528ba7c2d64a6c

展开
收起

php开源网校源码,有免费的可以下载么?

最近在网上经常看到有人在搜php开源网校源码,有免费的可以下载么?也难怪,毕竟现在是个网校盛行的时代,而你想要做网校,那么就少不了php开源网校源码,今天大黄蜂云课堂就来给大家说说php开源网校源码相关分享。

一.php开源网校源码

其实关于php开源网校源码这方面,如果你是想找免费的,我觉得大可不必再找了,因为天上是不会掉馅饼的,你觉得真的有哪个程序猿无聊到做个php开源网校源码丢到网上?然后分文不取么?人总要吃饭的,没有任何利益是不会有人做的,那些所谓的php开源网校源码免费下载,其实就是商家的一点营销套路而已,把一些阉割版(大部分功能都用不了)的php开源网校源码丢上网上,用来吸引人,当你下载了,想用的时候却会发现很多功能都用不了,只能用一些最基础的功能,想要用也可以,直接找他们商家交钱买个正版的,完全是不存在免费这个说法的。就算是有,给你找到了,你以为不会有病毒?你敢用?就像我上面说的无利可图,谁会费时费力去做事,你要知道一个php开源网校源码,市场上的价格可是几万块不等。

 二.php开源网校源码的价格

php开源网校源码的价格是多少?其实每家的php开源网校源码的价格都是不一样的,最低的一万多的也有,最高的几十万也有,主要看功能,如果你只是要最基础的教学功能,那么可能价格很便宜,一切的费用基于你的需求。如果你是小企业小公司,那么其实是不建议你直接购买php开源网校源码的,你可以选择租用网校系统,按年收费,一年只需要几千块钱,而且还有团队专门帮你维护,你只需要专心教学就可以,如果你是卖的网校源码,那么费钱不说,而且因为是买断的,基本是不会有团队帮你维护的,你还需要请几个人维护,成本方面还是比较高的。

以上就是大黄蜂云课堂对于php开源网校源码的一些相关看法,希望以上的观点对大家有帮助。最后再提醒大家一句,切莫贪小便宜,要记住无利可图的事情是绝对不会有人做的,如果真的有人做了,那么肯定存在着猫腻。

展开
收起

php函数-强制下载指定文件

forceDownload("robots.txt");

function forceDownload($filename) {

if (false == file_exists($filename)) {

return false;

}

// http headers

header('Content-Type: application-x/force-download');

header('Content-Disposition: attachment; filename="' . basename($filename) .'"');

header('Content-length: ' . filesize($filename));

// for IE6

if (false === strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 6')) {

header('Cache-Control: no-cache, must-revalidate');

}

header('Pragma: no-cache');

// read file content and output

return readfile($filename);;

}

展开
收起

PHP-文件上传和下载「程序员培养之路第三十八天」

第一节 上传设置

客户端设置

form:method=post、enctype="multipart/form-data"

input:type=file

<form action="upload.php" method="post" enctype = "multipart/form-data"><input type="file" name="fname"> <!--MAX_FILE_SIZE有兼容问题--> <input type="hidden" name="MAX_FILE_SIZE" value="30000" /> <button type="submit">提交</button></form>

服务端设置

在php.ini中进行设置:

默认uploadmaxfilesize = 2M,如果你想上传超过8M的文件,比如:20M,你在设定uploadmaxfilesize = 20M的同时,还要修改postmaxsize选项(默认为8M)。否则post数据超出限制,$_FILES将会为空(报错)。

$_FILES数组

$_FILES超全局数组中,包含着从客户端提交文件的全部信息:

array (size=1)'fname' => //上传文件表单项的name array (size=5) 'name' => string 'home.html' (length=21) //上传文件的名称 'type' => string 'text/html' (length=9) //文件类型(常见文件都可以上传) 'tmp_name' => string 'C:\wamp\tmp\php57A2.tmp' (length=23) //上传文件的临时文件名 'error' => int 0 //上传文件遇到的错误号 'size' => int 28131 //上传文件的大小

上传步骤

var_dump($_FILES);$file=$_FILES["fname"];

获取$_FILES文件 临时文件

$tmp_file=$file["tmp_name"];

获取后缀名

$ext=pathinfo($file["name"],PATHINFO_EXTENSION);//后缀名

创建新文件名

$new_file="file".rand(1,1000000).".".$ext;

保存路径

$path="./files";

格式化路径

$path=rtrim($path,'/')."/";

拼接上传目录

$new_file=$path.$new_file;

临时文件转换成正式文件

move_uploaded_file($tmp_file,$new_file);

PHP

第二节 下载设置

浏览器对于可识别的文件格式(html、txt、png、jpg等),默认是直接打开的,对于无法识别的文件,才作为附件来下载。为了可以让可识别的文件也直接可以下载,需要进行如下设置:

<a title="点击下载" href="down.php?name=01.jpg&type=image/jpeg"><img src="01.jpg"></a>

1. 读取文件

$fliename=$_GET["name"];$filetype=$_GET["type"];

2. 文件的描述信息 Content-Disposition(内容配置)指定为attachment(附件)(必须)

header("Content-Disposition:attachment;filename={$filename}");

3. 指定被下载文件的类型(非必须)

header("Content-Type:{$filetype}");

4. 指定被下载文件大小(非必须)

header("Content-Length:".filesize($filename));

5. 将内容读入内存缓冲区

readfile($filename);

注意:在 readfile($filename) 之前,不能有任何输出语句(错误信息、var_dump调试语句,echo输出等),否则下载的文件会出错。

PHP-文件处理系统「程序员培养之路第三十七天」

PHP-错误日志处理「程序员培养之路第三十六天」

PHP-日期时间操作函数「程序员培养之路第三十五天」

展开
收起