<?php
for ($i = 0; $i <= 50; $i++) {
printf(“progress: [%-50s] %d%%\r”, str_repeat(‘#’,$i), $i * 2);
usleep(1000 * 100);
}
echo “\n”;
echo “Done.\n”;每次用 \r 结尾就是了。\n 是 new line,\r 是 return 。也就是回到行首。
分类目录归档:PHP
PHP命令行获取用户输入
echo “请输入您的姓名:”;
$input = trim(fgets(STDIN));
echo “欢迎您,{$input}!”;
PHP将指定图片插入透明PNG中,实现水印效果!
将图片B.png(16px * 16px),嵌入图片A.png中,生成一个图片C.png。
<?php
$im = imagecreatefrompng(‘A.png’);
$im2 = imagecreatefrompng(‘B.png’);
imagesavealpha($im, true); //设置透明
imagesavealpha($im2, true); //设置透明
imagecopy($im, $im2, 0, 0, 0, 0, 16, 16); //将图片B.png嵌入图片A.png
imagepng($im, ‘C.png’); // 生成图片C.png
?>
<img src=”C.png” />
PHP下载文件不完整解决办法
今天在公司一个项目中使用PHP实现文件下载功能,在Windows服务器上测试通过,在Linux服务器上一直出现问题,下载的文本文件出现不完整的情况,下载的二进制文件(比如RAR压缩包)全部不可用。找半天没有找到原因。
代码如下:
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
@readfile($file);
最终翻看手册发现手册中有以下两行代码:
ob_clean();
flush();
在@readfile($file);
前面添加上就正常了。
用PHP实现Linux服务
最近的一个项目需要分别在Windows和Linux下实现PHP程序注册为服务方式运行.
在网上找了很久终于完成了Windows版本的! 不过一直没有完成Linux版本, 本人Linux菜鸟,很长时间都没解决这个问题. 发现Linux没有一个像Windows的services.msc管理器的东西.
因此想到了用PHP完全模拟services.msc来实现.
原理很简单:
1. PHP服务程序原理:无非就是一个无限循环,每循环后休息一定的时间(sleep(xx)),然后继续执行.
2. 用PHP编写一个服务管理器,功能类似于windows下的net start 和 net stop命令, 用于控制编写的PHP服务.
3.采用内存或者文件方式实现服务管理器与PHP服务之间的通信.
4.设置一个开机启动项, 用于开机启动配置了自动运行的PHP服务.
根据以上原理,我写了一份测试版的PHP管理器, 现在分享给大家!
以下是截图:
下载地址:PHP服务管理器Linux版