这是唯一一个扰乱php的代码,我删除了它,它恢复得很好,所以我猜测这个循环语句中有什么错误;有人能看看出了什么问题吗?
下面假设搜索文件夹,看看图像是否已经在该文件夹中,如果是,它每次以+1($i++)的方式检查$i,然后以最大30的数字再次检查。
知道我该怎么做吗?我得到的错误:
"HTTP Error 500 (Internal Server Error): An unexpected condition was encountered while the server was attempting to fulfill the request"
所以代码中一定有什么东西没有正确配置
-Php回路代码
<?php
define ("MAX_SIZE","100");
function getExtension($str) {
$i = strrpos($str,".");
if (!$i) { return ""; }
$l = strlen($str) - $i;
$ext = substr($str,$i+1,$l);
return $ext;
}
$errors=0;
if(isset($_POST['Submit']))
{
$image=$_FILES['image']['name'];
if ($image)
{
$filename = stripslashes($_FILES['image']['name']);
$extension = getExtension($filename);
$extension = strtolower($extension);
if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png") && ($extension != "gif"))
{
//print error message
echo "";
$errors=1;
}
else
{
$size=filesize(['image']['tmp_name']);
if ($size > MAX_SIZE*1024)
{
echo "";
$errors=1;
}
$image_name=time().'.'.$extension;
//Error Occurs Below
for($i=0; $i<30; $i++)
{
$relativePath="members/image/corey/"."photo".$i;
if(!file_exists($relativePath)) {
continue;
}
else
{
$newNumber=$i;
break;
}
}
$fileName=$_FILES["name"]."$newNumber";
$relativePath="members/image/corey/".$filename.'.'.$extension;
move_uploaded_file($image, $relativePath);
//Error Occurs Above
?>
-按钮
<form name="newad" method="post" enctype="multipart/form-data" action="">
<table>
<tr><td><table>
<tr>
<td><input type="file" name="image" /></td>
</tr>
<tr>
<td><input name="Submit" id="upload" type="submit" value="Upload image" onclick"load_images()" /></td>
</tr>
</table></td></tr>
</table>
</form>
</div>
500(内部服务器错误)可能由于各种原因而给出,其中之一是PHP退出时出现致命错误。如果你配置它,你会在PHP错误日志中找到PHP错误。
如果您已经配置了PHP错误日志,但在其中找不到任何与脚本相关的内容,则需要检查服务器的错误日志。它会记录所有500个错误并给出原因。
您甚至可以先查看服务器错误日志,但其中的原因可能非常神秘,只有告诉您(如果您知道如何阅读)这是一个PHP错误-这在PHP错误日志中得到了更好的解释。
如果您无法访问服务器的错误日志文件,请联系您的主机的技术支持。
500(内部服务器错误)在我看来是由于服务器配置错误导致的错误,即无效的.htaccess指令,可能是权限问题。你应该确保你有权写入你想要的目录并访问它们等等,并且在这个目录中没有带有无效指令的.htaccess文件。。。