php 正则字符串中外部链接代码函数
代码如下 | 复制代码 |
function deleteemptyarray( $val ) function getoutlink($body) |
//调用方法
代码如下 | 复制代码 |
$body ="<a href=/ab.htm>aaa</a><a href=http://www.111cn.net>我是外部连接</a>"; echo getoutlink($body); |
打开php.ini,首先找到
;;;;;;;;;;;;;;;;
; file uploads ;
;;;;;;;;;;;;;;;;
区域,有影响文件上传的以下几个参数:
file_uploads = on ;是否允许通过http上传文件的开关。默认为on即是开
upload_tmp_dir ;文件上传至服务器上存储临时文件的地方,如果没指定就会用系统默认的临时文件夹
upload_max_filesize = 8m ;望文生意,即允许上传文件大小的最大值。默认为2m
在
;;;;;;;;;;;;;;;;;
; data handling ;
;;;;;;;;;;;;;;;;;
区域,还有一项:
post_max_size = 8m ;指通过表单post给php的所能接收的最大值,包括表单里的所有值。默认为8m
一般地,设置好上述四个参数后,上传<=8m的文件是不成问题,在网络正常的情况下。
但如果要上传>8m的大体积文件,只设置上述四项还一定能行的通。除非你的网络真有100m/s的上传高速,否则你还得关心关心下面的参数:
;;;;;;;;;;;;;;;;;;;
; resource limits ;
;;;;;;;;;;;;;;;;;;;
max_execution_time = 600 ;每个php页面运行的最大时间值(秒),默认30秒
max_input_time = 600 ;每个php页面接收数据所需的最大时间,默认60秒
memory_limit = 8m ;每个php页面所吃掉的最大内存,默认8m
代码如下 | 复制代码 |
function imagebmp($img,$file="",$rle=0)
$transparent=imagecolortransparent($img);
if($colorcount==0) {$colorcount=0; $bitcount=24;};
$zbytek=(4-($width/(8/$bitcount))%4)%4; if($bitcount<24) $palsize=pow(2,$bitcount)*4; $size=(floor($width/(8/$bitcount))+$zbytek)*$height+54; // bitmap file header $cc=$colorcount; for($p=0;$p<$colortotal;$p++) $ct=$colortotal;
for($y=$height-1;$y>=0;$y--) if((strlen($bwrite)<8)and(strlen($bwrite)!=0)) if(($rle==1)and($bitcount==8)) if(($t+5)%$width==0)
for($y=$height-1;$y>=0;$y--) }; if($file!="")
function imagecreatefrombmp($file) $f=fopen($file,"r"); if($header=="bm") $sizebitmapinfoheader=freaddword($f); if($bibitcount<24)
for($y=$height-1;$y>=0;$y--) };
$pocetb=0; while(true) $echoit=false; if($echoit)echo "prefix: $prefix suffix: $suffix<br>"; while(!(($prefix==0)and($suffix==0))) for($x=0;$x<strlen($data);$x++) }; };
/*while(!feof($f)) $echoit=false; if($echoit)echo "prefix: $prefix suffix: $suffix<br>"; while(!(($prefix==0)and($suffix==0))) $currentbit=0; for($x=0;$x<strlen($data);$x++) }; };
for($y=$height-1;$y>=0;$y--) };
/* function freadbyte($f) function freadword($f)
function freaddword($f)
function retbits($byte,$start,$len) };
$currentbit=0;
function rgbtohex($red,$green,$blue) function int_to_dword($n)
function decbinx($d,$n) function inttobyte($n) |
//实例方法
代码如下 | 复制代码 |
include_once('bmp.php'); $image=imagecreatefrombmp('a.bmp'); imagejpeg($image,'a.jpeg'); imagedestroy($image); |
fck 上传图片增加水印代码修改 //我们只要找到editor/filemanger/conectors/php/commands.php文件把下面这段php代码替换成你的commands.php文件就行了。
function getfolders( $resourcetype, $currentfolder )
{
// map the virtual path to the local server path.
$sserverdir = servermapfolder( $resourcetype, $currentfolder, 'getfolders' ) ;
// array that will hold the folders names.
$afolders = array() ;
$ocurrentfolder = opendir( $sserverdir ) ;
while ( $sfile = readdir( $ocurrentfolder ) )
{
if ( $sfile != '.' && $sfile != '..' && is_dir( $sserverdir . $sfile ) )
$afolders[] = '<folder name="' . converttoxmlattribute( $sfile ) . '" />' ;
}
closedir( $ocurrentfolder ) ;
// open the "folders" node.
echo "<folders>" ;
natcasesort( $afolders ) ;
foreach ( $afolders as $sfolder )
echo $sfolder ;
// close the "folders" node.
echo "</folders>" ;
}
function getfoldersandfiles( $resourcetype, $currentfolder )
{
// map the virtual path to the local server path.
$sserverdir = servermapfolder( $resourcetype, $currentfolder, 'getfoldersandfiles' ) ;
// arrays that will hold the folders and files names.
$afolders = array() ;
$afiles = array() ;
$ocurrentfolder = opendir( $sserverdir ) ;
while ( $sfile = readdir( $ocurrentfolder ) )
{
if ( $sfile != '.' && $sfile != '..' )
{
if ( is_dir( $sserverdir . $sfile ) )
$afolders[] = '<folder name="' . converttoxmlattribute( $sfile ) . '" />' ;
else
{
$ifilesize = @filesize( $sserverdir . $sfile ) ;
if ( !$ifilesize ) {
$ifilesize = 0 ;
}
if ( $ifilesize > 0 )
{
$ifilesize = round( $ifilesize / 1024 ) ;
if ( $ifilesize < 1 ) $ifilesize = 1 ;
}
$afiles[] = '<file name="' . converttoxmlattribute( $sfile ) . '" size="' . $ifilesize . '" />' ;
}
}
}
// send the folders
natcasesort( $afolders ) ;
echo '<folders>' ;
foreach ( $afolders as $sfolder )
echo $sfolder ;
echo '</folders>' ;
// send the files
natcasesort( $afiles ) ;
echo '<files>' ;
foreach ( $afiles as $sfiles )
echo $sfiles ;
echo '</files>' ;
}
function createfolder( $resourcetype, $currentfolder )
{
if (!isset($_get)) {
global $_get;
}
$serrornumber = '0' ;
$serrormsg = '' ;
if ( isset( $_get['newfoldername'] ) )
{
$snewfoldername = $_get['newfoldername'] ;
$snewfoldername = sanitizefoldername( $snewfoldername ) ;
if ( strpos( $snewfoldername, '..' ) !== false )
$serrornumber = '102' ; // invalid folder name.
else
{
// map the virtual path to the local server path of the current folder.
$sserverdir = servermapfolder( $resourcetype, $currentfolder, 'createfolder' ) ;
if ( is_writable( $sserverdir ) )
{
$sserverdir .= $snewfoldername ;
$serrormsg = createserverfolder( $sserverdir ) ;
switch ( $serrormsg )
{
case '' :
$serrornumber = '0' ;
break ;
case 'invalid argument' :
case 'no such file or directory' :
$serrornumber = '102' ; // path too long.
break ;
default :
$serrornumber = '110' ;
break ;
}
}
else
$serrornumber = '103' ;
}
}
else
$serrornumber = '102' ;
// create the "error" node.
echo '<error number="' . $serrornumber . '" originaldescription="' . converttoxmlattribute( $serrormsg ) . '" />' ;
}
function fileupload( $resourcetype, $currentfolder, $scommand )
{
if (!isset($_files)) {
global $_files;
}
$serrornumber = '0' ;
$sfilename = '' ;
if ( isset( $_files['newfile'] ) && !is_null( $_files['newfile']['tmp_name'] ) )
{
global $config ;
$ofile = $_files['newfile'] ;
// map the virtual path to the local server path.
$sserverdir = servermapfolder( $resourcetype, $currentfolder, $scommand ) ;
// get the uploaded file name.
$sfilename = $ofile['name'] ;
$sfilename = sanitizefilename( $sfilename ) ;
$soriginalfilename = $sfilename ;
// get the extension.
$sextension = substr( $sfilename, ( strrpos($sfilename, '.') + 1 ) ) ;
$sextension = strtolower( $sextension ) ;
if ( isset( $config['secureimageuploads'] ) )
{
if ( ( $isimagevalid = isimagevalid( $ofile['tmp_name'], $sextension ) ) === false )
{
$serrornumber = '202' ;
}
}
if ( isset( $config['htmlextensions'] ) )
{
if ( !ishtmlextension( $sextension, $config['htmlextensions'] ) &&
( $detecthtml = detecthtml( $ofile['tmp_name'] ) ) === true )
{
$serrornumber = '202' ;
}
}
// check if it is an allowed extension.
if ( !$serrornumber && isallowedext( $sextension, $resourcetype ) )
{
$icounter = 0 ;
while ( true )
{
$sfilepath = $sserverdir . $sfilename ;
//$sfilepath =$sserverdir.time().$sextension;
if ( is_file( $sfilepath ) )
{
$icounter++ ;
$sfilename = removeextension( $soriginalfilename ) . '(' . $icounter . ').' . $sextension ;
$serrornumber = '201' ;
}
else
{
move_uploaded_file( $ofile['tmp_name'], $sfilepath ) ;
if ( is_file( $sfilepath ) )
{
if ( isset( $config['chmodonupload'] ) && !$config['chmodonupload'] )
{
break ;
}
$permissions = 0777;
if ( isset( $config['chmodonupload'] ) && $config['chmodonupload'] )
{
$permissions = $config['chmodonupload'] ;
}
$oldumask = umask(0) ;
chmod( $sfilepath, $permissions ) ;
umask( $oldumask ) ;
}
break ;
}
}
代码如下 | 复制代码 |
//增加水印 // add start $waterimg="111cn.net.png"; //水印图片 这里修改你的水印图片所在的地址 if($watermark==1) { $image_size = getimagesize($sfilepath); $iinfo=getimagesize($sfilepath,$iinfo); $nimage=imagecreatetruecolor($image_size[0],$image_size[1]); $white=imagecolorallocate($nimage,255,255,255); $black=imagecolorallocate($nimage,0,0,0); $red=imagecolorallocate($nimage,255,0,0); imagefill($nimage,0,0,$white); switch ($iinfo[2]) { case 1: $simage =imagecreatefromgif($sfilepath); break; case 2: $simage =imagecreatefromjpeg($sfilepath); break; case 3: $simage =imagecreatefrompng($sfilepath); break; // case 6: // $simage =imagecreatefromwbmp($sfilepath); // break; default: die("不支持的文件类型"); exit; } imagecopy($nimage,$simage,0,0,0,0,$image_size[0],$image_size[1]); switch($watertype) { case 1: //加水印字符串 imagestring($nimage,2,3,$image_size[1]-15,$waterstring,$black); break; case 2: //加水印图片 $simage1 =imagecreatefrompng($waterimg); imagecopy($nimage,$simage1,$image_size[0]/2,$image_size[0]/2,0,0,240,65); imagedestroy($simage1); break; } switch ($iinfo[2]) { case 1: imagegif($nimage, $sfilepath); // imagejpeg($nimage, $sfilepath); break; case 2: imagejpeg($nimage, $sfilepath); break; case 3: imagepng($nimage, $sfilepath); break; // case 6: // imagewbmp($nimage, $sfilepath); // //imagejpeg($nimage, $sfilepath); // break; } //覆盖原上传文件 imagedestroy($nimage); imagedestroy($simage); } |
//增加水印结果
if ( file_exists( $sfilepath ) )
{
//previous checks failed, try once again
if ( isset( $isimagevalid ) && $isimagevalid === -1 && isimagevalid( $sfilepath, $sextension ) === false )
{
@unlink( $sfilepath ) ;
$serrornumber = '202' ;
}
else if ( isset( $detecthtml ) && $detecthtml === -1 && detecthtml( $sfilepath ) === true )
{
@unlink( $sfilepath ) ;
$serrornumber = '202' ;
}
}
}
else
$serrornumber = '202' ;
}
else
$serrornumber = '202' ;
$sfileurl = combinepaths( getresourcetypepath( $resourcetype, $scommand ) , $currentfolder ) ;
$sfileurl = combinepaths( $sfileurl, $sfilename ) ;
senduploadresults( $serrornumber, $sfileurl, $sfilename ) ;
exit ;
}?>
代码如下 | 复制代码 |
function my_file_get_contents($url, $timeout=30) {
|
代码如下 | 复制代码 |
function get_remote($body,$title){ $img_array = array(); function mkdirs($dir) |
$str ='fasfsdafsa<img src=http://filesimg.111cn.net/2010/03/2010062300391582.jpg />';
echo get_remote($str,'图片');
本站原创教程转请注明来源,文件上传代码会这样做。
相关文章
- eval函数在php中是一个函数并不是系统组件函数,我们在php.ini中的disable_functions是无法禁止它的,因这他不是一个php_function哦。 eval()针对php安全来说具有很...2016-11-25
- 在php中eval是一个函数并且不能直接禁用了,但eval函数又相当的危险了经常会出现一些问题了,今天我们就一起来看看eval函数对数组的操作 例子, <?php $data="array...2016-11-25
- 这篇文章主要介绍了C#中截取字符串的的基本方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-11-03
Python astype(np.float)函数使用方法解析
这篇文章主要介绍了Python astype(np.float)函数使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-06-08- 这篇文章介绍了C#判断字符串是否数字或字母的实例,有需要的朋友可以参考一下...2020-06-25
- 这篇文章主要介绍了PostgreSQL判断字符串是否包含目标字符串的多种方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-02-23
- 这篇文章主要介绍了Python中的imread()函数用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-16
- 这篇文章主要介绍了C++ string常用截取字符串方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-04-25
- 本文主要介绍了C# 中取绝对值的函数。具有很好的参考价值。下面跟着小编一起来看下吧...2020-06-25
- 下面小编就为大家带来一篇C#学习笔记- 随机函数Random()的用法详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
- 本文实例讲述了php字符串按照单词进行反转的方法。分享给大家供大家参考。具体分析如下:下面的php代码可以将字符串按照单词进行反转输出,实际上是现将字符串按照空格分隔到数组,然后对数组进行反转输出。...2015-03-15
- 这篇文章主要给大家介绍了一个关于JS正则匹配的踩坑记录,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-04-13
- CREATE FUNCTION ChangeBigSmall (@ChangeMoney money) RETURNS VarChar(100) AS BEGIN Declare @String1 char(20) Declare @String2 char...2016-11-25
- 这篇文章主要介绍了C++中Sort函数详细解析,sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变...2022-08-18
Android开发中findViewById()函数用法与简化
findViewById方法在android开发中是获取页面控件的值了,有没有发现我们一个页面控件多了会反复研究写findViewById呢,下面我们一起来看它的简化方法。 Android中Fin...2016-09-20- 这篇文章主要介绍了MySQL 字符串拆分操作(含分隔符的字符串截取),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-22
- 这篇文章主要介绍了C#实现字符串转换成字节数组的简单实现方法,仅一行代码即可搞定,非常简单实用,需要的朋友可以参考下...2020-06-25
- 这篇文章主要介绍了使用list stream:任意对象List拼接字符串操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-09-09
- strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。该函数返回字符串的其余部分(从匹配点)。如果未找到所搜索的字符串,则返回 false。语法:strstr(string,search)参数string,必需。规定被搜索的字符串。 参数sea...2013-10-04
- 这篇文章主要介绍了C# 16 进制字符串转 int的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下...2020-06-25