下面是PHP编写上传图片同时生成缩略图和插入数据库的一个完代码。
$title = $_POST[title];
$descrīption = $_POST[descrīption];
$albumID = $_POST[albumID];
$iscommend = $_POST[iscommend];
$isvisible = $_POST[isvisible];
$uploadtime = date("Y-m-d H:i:s");
$MAX_FILE_SIZE = floor($_POST[MAX_FILE_SIZE] / 1024);
$FileExtName = strtolower(pathinfo($_FILES[url][name],PATHINFO_EXTENSION));
if(!(($FileExtName == gif) or ($FileExtName == jpg) or ($FileExtName == jpeg) or ($FileExtName == png))){
echo "
echo " alert(您上传的文件类型不对,本系统仅支持PNG,JPG,GIF三种格式。);";
echo " location=../uploadpicture.php?albumID=$albumID;";
echo "
exit;
}
$Filename = date("YmdHis").substr(microtime(),2,5)...$FileExtName;
$PictureDir = substr(pathinfo($_SERVER[scrīpt_FILENAME],PATHINFO_DIRNAME),0,strlen(pathinfo($_SERVER[scrīpt_FILENAME],PATHINFO_DIRNAME))-8);
$UploadURL = $PictureDir./.$PictureFolder.$Filename;
$ThumbsURL = $PictureDir./.$ThumbsFolder.$Filename;
if (!move_uploaded_file($_FILES[url][tmp_name], $UploadURL)){
echo "
echo " alert(上传失败,图片大小不能超过 $MAX_FILE_SIZE KB。);";
echo " location=../uploadpicture.php?albumID=$albumID;";
echo "
exit;
}
list($RealWidth, $RealHeight) = getimagesize($UploadURL);
if($RealWidth $percent = 1;
} else {
$percent = $MaxThumbWidth / $RealWidth;
}
$NewWidth = $RealWidth * $percent;
$NewHeight = $RealHeight * $percent;
$thumb = imagecreatetruecolor($NewWidth, $NewHeight);
list($width, $height, $PictureType, $attrib) = getimagesize($UploadURL);
switch($PictureType)
{
case "1": $source = imagecreatefromgif($UploadURL); break;
case "2": $source = imagecreatefromjpeg($UploadURL); break;
case "3": $source = imagecreatefrompng($UploadURL); break;
}
imagecopyresized($thumb, $source, 0, 0, 0, 0, $NewWidth, $NewHeight, $RealWidth, $RealHeight);
switch($PictureType)
{
case "1": imagegif($thumb, $ThumbsURL); break;
case "2": imagejpeg($thumb, $ThumbsURL); break;
case "3": imagepng($thumb, $ThumbsURL); break;
}
$newpicture_SQL = "INSERT INTO pictures (flag,title,url,descrīption,uploadtime,updatetime,isvisible,iscommend) VALUES ($albumID,$title,$Filename,$descrīption,$uploadtime,$uploadtime,$isvisible,$iscommend);";
$setCover = "Update pictures SET url = $Filename WHERE id = $albumID;";
$totalPictures_SQL = "SELECT * FROM pictures WHERE flag = $albumID;";
$totalPictures = mysql_query($totalPictures_SQL, $hesweb) or die(mysql_error());
$totalRows_totalPictures = mysql_num_rows($totalPictures);
$newpicture = mysql_query($newpicture_SQL, $hesweb) or die(mysql_error());
$pictureID = mysql_insert_id($hesweb);
$coverFlag = "UPDATE pictures SET iscover = 1 WHERE id = $pictureID;";
if($totalRows_totalPictures $cover = mysql_query($setCover, $hesweb) or die(mysql_error());
$flag = mysql_query($coverFlag, $hesweb) or die(mysql_error());
}
if($coverFlag){
echo "
echo " alert(上传成功。);";
echo " location=../uploadpicture.php?albumID=$albumID;";
echo "
}
?>
看啦上面的代码希望大家能有所收获。

tomakephpapplicationsfaster,关注台词:1)useopcodeCachingLikeLikeLikeLikeLikePachetoStorePreciledScompiledScriptbyTecode.2)MinimimiedAtabaseSqueriSegrieSqueriSegeriSybysequeryCachingandeffeftExting.3)Leveragephp7 leveragephp7 leveragephp7 leveragephpphp7功能forbettercodeefficy.4)

到ImprovephPapplicationspeed,关注台词:1)启用opcodeCachingwithapCutoredUcescriptexecutiontime.2)实现databasequerycachingusingpdotominiminimizedatabasehits.3)usehttp/2tomultiplexrequlexrequestsandredececonnection.4 limitsclection.4.4

依赖注入(DI)通过显式传递依赖关系,显着提升了PHP代码的可测试性。 1)DI解耦类与具体实现,使测试和维护更灵活。 2)三种类型中,构造函数注入明确表达依赖,保持状态一致。 3)使用DI容器管理复杂依赖,提升代码质量和开发效率。

databasequeryOptimizationinphpinvolVolVOLVESEVERSEVERSTRATEMIESOENHANCEPERANCE.1)SELECTONLYNLYNESSERSAYCOLUMNSTORMONTOUMTOUNSOUDSATATATATATATATATATATRANSFER.3)

phpisusedforsenderemailsduetoitsbuilt-inmail()函数andsupportiveLibrariesLikePhpMailerandSwiftMailer.1)usethemail()functionforbasicemails,butithasimails.2)butithasimimitations.2)

PHP性能瓶颈可以通过以下步骤解决:1)使用Xdebug或Blackfire进行性能分析,找出问题所在;2)优化数据库查询并使用缓存,如APCu;3)使用array_filter等高效函数优化数组操作;4)配置OPcache进行字节码缓存;5)优化前端,如减少HTTP请求和优化图片;6)持续监控和优化性能。通过这些方法,可以显着提升PHP应用的性能。

依赖性注射(DI)InphpisadesignPatternthatManages和ReducesClassDeptions,增强量产生性,可验证性和Maintainability.itallowspasspassingDepentenciesLikEdenceSeconnectionSeconnectionStoclasseconnectionStoclasseSasasasasareTers,interitationApertatingAeseritatingEaseTestingEasingEaseTeStingEasingAndScalability。

cachingimprovesphpermenceByStorcyResultSofComputationsorqucrouctationsorquctationsorquickretrieval,reducingServerLoadAndenHancingResponsetimes.feftectivestrategiesinclude:1)opcodecaching,whereStoresCompiledSinmememorytssinmemorytoskipcompliation; 2)datacaching datacachingsingMemccachingmcachingmcachings


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

禅工作室 13.0.1
功能强大的PHP集成开发环境

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

记事本++7.3.1
好用且免费的代码编辑器

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

Atom编辑器mac版下载
最流行的的开源编辑器