1. php-大數據量怎麼處理優化
php跟數據量大好像沒有直接的關系,應該優化的資料庫
2. php 自動分段下載文件
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;
//判斷要下載的文件是否存在
if(!file_exists($file_path))
{
echo '對不起,你要下載的文件不存在。';
return false;
}
$file_size = filesize($file_path);
header("Content-type: application/octet-stream");
header("Accept-Ranges: bytes");
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;
}
你試一下吧,我再網上找的,沒試過,看起來應該沒問題
不過,你在代碼最上面加上不限制時間不就行了嗎,何必分段下載這么麻煩
3. PHP分段XXX.php你好 我是 123 XXX.phpid=736&text1=你好&text2=我是&text3=123
通過explode 分割
<?php
$data=$_GET['jp'];
$str=explode("",$data);//根據字元間的空格分隔,也可以是其它字元,根據jp自定
echo"456.php?id=736&text1=".$str[0]."&text2=".$str[1]."&text3=".$str[2]."";
?>
4. php文件下載並且顯示進度條
文件下載顯示進度條的,這個不需要吧,瀏覽器會有顯示。如果是文件上傳顯示進度條,可以參考這個:使用 layui upload 和 PHP 實現分段上傳文件
5. 在論壇下載時經常得到php或hltm文件是怎麼回事
好像用IE下載也出現這個情況,得到的文件比論壇顯示的小。而有一次我用迅雷下載深度的美化主題包,得到4個php文件(論壇的是4個主題分段壓縮文件),大小跟論壇的是4個主題分段壓縮文件一樣,然後我直接把文件名後綴名改成rar,放在一起也能解壓得到想要的文件。好奇怪的。這只是唯一的一次情況,其他都好像不能成功下載。 查看原帖>>
6. php header 下載zip文件的問題
<?php
include("class.php");
date_default_timezone_set("PRC");//設置時區為中國
$filetype_array = array("as"=>"Flash ActionScript File","bmp"=>"BMP圖像"
,"doc"=>"Microsoft Word文檔","rar"=>"WinRAR 壓縮文檔",
"ppt"=>"Microsoft PowerPoint 演示文稿","txt"=>"文本文檔",
"xls"=>"Microsoft Excel 工作表","gif"=>"GIF圖像",
"jpg"=>"JPEG圖像","jpeg"=>"JPEG圖像","png"=>"PNG圖像",
"html"=>"HTML Document","htm"=>"HTML Document",
"mp3"=>"MP3 格式聲音","chm"=>"已編譯的HTML幫助文件",
"fla"=>"Flash Document","mdb"=>"Microsoft Access 應用程序",
"pdf"=>"PDF 文件","swf"=>"Flash Movie","xml"=>"XML 文檔",
"zip"=>"WinRAR ZIP 壓縮文件","asf"=>"Windows 音頻/視頻文件",
"wmv"=>"Windows Media 音頻/視頻文件","avi"=>"視頻剪輯",
"mpeg"=>"電影剪輯","exe"=>"應用程序","gz"=>"WinRAR 壓縮文件",
"tar"=>"WinRAR 壓縮文件","tiff"=>"TIFF 文件");
//以上為判斷函數
$="./images";
$nba=opendir($);
$i=1;
echo "<table border=1px color:red>";
echo "<tr><td>I D</td><td>文件名稱</td><td>大小</td><td>最後修改時間</td><td>類型</td><td>下載</td></tr>";
while ($wnba=readdir($nba))
{
if($wnba != "." && $wnba != "..")
{
$path=$."/".$wnba;
$dir=new dir($path);
$str[]=
"<tr>".
"<td>".$i++."</td>".
"<td>".$wnba."</td>".
"<td>".$dir->getsize()."</td>".
"<td>".$dir->gettime()."</td>".
"<td>".$dir->gettype()."</td>".
"<td><a href='$path'><img src=".$dir->getIcon()."></a></td>".
"</tr>\n";
}
$lines=15;//每頁15行
if( " "==$cur_page) $cur_page=1;//當前頁
$page=ceil(count($str)/$lines);//頁數
echo $page;
for($i=($cur_page-1)*$lines ; $i <$cur_page*$lines ; $i++){//分段讀出數組
echo "$str[$i] ";
}
}
echo "</table>";
closedir($nba);
?>
<table width=100%> <tr> <td align=center>
<?
for ($i=1;$i <=$page;$i++){
$i==$cur_page ? $a= " <b> ".$i. " </b> " : $a= " <a href= ".wjclass1.php. "?cur_page=$i> ".$i. " </a> ";
echo "$a ";
}
?>
</td> </tr> </table>
</td>
</tr>
</table>