2012-03-09 10 views
-2

これはphpを台無しにする唯一のコードです。私はそれを削除して完全に再開しますので、このループ文で何かが間違っていると推測しています。誰かが何が間違って見てくださいできますか?構文エラーphp(for-loop)

次の例では、フォルダを検索してそのフォルダ内に画像があるかどうかを確認します。その場合は、$ iを毎回+1して($ 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 
?> 

-buttons

<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> 
+1

最後の破壊的な編集を元に戻しました。このように質問を「クローズ」しないでください。 – meagar

+0

わかりました。私もそれにフラグを立てました –

答えて

2

を設定していないされている必要がありますが不足していますあなたのforループの最初のものと一致する閉じる "}"

+0

これはどこにあるべきですか?下の3行はループから離れていません。 –

+0

oh common ...これは単なる構文エラーです...これは構文エラーの場所ではありません....最後の3行の前に閉じブレースを置くだけです。 – Girish

+0

すべてのコードをもう一度チェックして、構文エラーを修正しました –

1

"for"ループの閉じ括弧が欠けているようです。

あなたが閉鎖を欠けていることスニペットで
1

$["FILES"]["name"]?変数名がありません。 $_FILES['file']['name']

また、move_uploaded_fileは、送信元と送信先の2つの引数をとります。次のようなものがあります。

move_uploaded_file($_FILES['file']['temp_name'], $relativePath); 
+0

私はその変数を持っていますが、これはすべてのコードではありません –

+0

"偽の"コードをデバッグすると思いますか?投稿されたコードの他の部分は本当ですか? – webbiedave

+0

私はあなたに合わせて変更しましたが、依然としてエラー –