PHP For循环检查文件夹中的现有文件


PHP For Loop Checking Folder for existing Files

这是唯一一个扰乱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文件。。。