本人声明:本人系PHP初学者,有什么不理想的地方,请大家多多提意见~!谢谢~!
所谓内涵图将网页上的JPG图片下载后修改后缀名为RAR打开里面包含种子文件,主要用来传播某岛国的爱情动作片或者爱情功夫手册。
首先准备种子文件 .torrent 文件 和图片文件 .JPG 文件然后将种子文件 .torrent 以rar格式打包 然后将压缩包和图片一起上传后输出的图片就是所谓的内涵图了。
<?php
/**
自动删除保存超过一分钟的文件
**/
$path= "uploadfiles/";//定时删的文件目录和保存上传文件的目标文件夹
if(!($dp = opendir($path))) die ("读取目录失败");//打开目录
$file_array = array();//新建数组
while ($file = readdir ($dp)){
if(substr($file,0,1) != '.' and $file != "index.php"){//历遍文件夹,加入数组
$file_array[] = $file;
}
}
$file_count = count ($file_array);//文件个数
sort ($file_array);//文件数组排序
if ($file_count > 0){
while (list($fileIndexValue, $file_name) = each ($file_array)){
$file_name = $path.$file_name;
$lenght = strlen($file_name);
$mtime = filemtime($file_name);//获取文件创建时间
$now = time();
if(($now-$mtime) > 1*60) {// 10*60就是10*60秒=10分钟后自动删除
unlink($file_name);//删除文件
}
}
}
closedir($dp);//结束流
?>
<form enctype="multipart/form-data" action="<?php $_SERVER['PHP_SELF']?>" method="post">
<input type="file" name="myfile[]" id="myfile2" /><br />
<input type="file" name="myfile[]" id="myfile3" /><br />
<input type="submit" name="submit" value="上传" />
</form>
<?php
if(!file_exists($path)){
//检查是否有该文件夹,如果没有就创建,并给予最高权限
mkdir("$path", 0700);
}//END IF
//允许上传的文件格式
//$tp = array("image/jpeg","application/octet-stream");
if(isset($_FILES['myfile'])){
foreach ($_FILES["myfile"]["size"] as $k=>$v){//文件超出大小限制退出
if($v>3145728){//如果大衣3mb则退出
echo "文件大小超出限制,最大为3mb";
exit;
}
}
$type_code = array();
foreach ($_FILES["myfile"]["tmp_name"] as $kk=>$vv){
$fp = fopen($vv, "rb");
$bin = fread($fp,4); //只读2字节
fclose($fp);
$str_info = unpack("C2chars", $bin);//从二进制字符串对数据进行解包,得到前两个字节信息
$type_code[] = intval($str_info['chars1'].$str_info['chars2']);//通过使用特定的进制转换(默认是十进制)
}
rsort($type_code);
if($type_code[0]==255216&&$type_code[1]==8297){
$fileurl = array();
foreach ($_FILES["myfile"]["tmp_name"] as $kk=>$vv){
$file22 = explode('.',$_FILES["myfile"]["name"][$kk]);
$file2 = $path.date("YmdHi").base64_encode($file22[0]).'.'.$file22[1];
$fileurl[] = $file2;
move_uploaded_file($vv,$file2);//从系统生成的临时文件移动到所设置的文件夹
}
global $pic,$rar;
$newpath = $path.time().'_torrent.jpg';//设定文件路径和名称
foreach($fileurl as $kh=>$vh){
$arry = explode('.',$vh);
if(strtolower($arry[1])=='jpg'){
$jpgurl = $vh;
$pic = file_get_contents($jpgurl);//抓取所上传的图片数据
}
if(strtolower($arry[1])=='rar'){
$rarurl = $vh;
$rar = file_get_contents($rarurl);//专区所上传的压缩文件数据
}
}
$combine = $pic.$rar;//合并数据
$new = fopen($newpath,'w+');//打开所指定的文件,如果没有则创建之
if(fwrite($new,$combine) == true) echo '<img src="http://www.ys2o.com/test/uploadfiles/'.time().'_torrent.jpg"/>';//写入数据然后输出图种图片
}else{
echo "格式不对必须是RAR压缩文件和JPG图片文件";
exit;
}
}
?>
测试地址: http://www.ys2o.com/test/test11.php