2016-06-25 16 views
0

Eigentlich habe ich ein CMS entwickelt, um in meine Website durch .. Für Post-Bild möchte ich Limit von 500KB und nur GIF, JPEG, JPG und PNG Foormats sind erlaubt ..Dieser Code wird erfolgreich ausgeführt und die Warnung wird ebenfalls angezeigt. aber wenn das Bild mit erlaubten Format und Größe hochgeladen wird, zeigt es wieder die Alarmmeldung..my Verwendung von exit(); Funktion ist hier korrekt? Die HTML ist:PHP Datei Upload Größe & Typ funktioniert nicht

<div class="form-container"> 
    <form method="post" action="publish_post.php" enctype="multipart/form-data"> 
    <input class="inputs" type="text" name="p_title" placeholder="What's the post title"/> 
    <input class="inputs" type="text" name="p_author" placeholder="Who's the post author"/> 
    <select class="input" name="p_category" size="1" /> 
     <option value="null">Select post category</option> 
     <option value="softwares">Softwares</option> 
     <option value="tips & tricks">Tips & tricks</option> 
     <option value="wallpapers">Wallpapers</option> 
     <option value="walpapers_more">Walpapers_more</option> 
    </select> 
    <textarea name="p_content" placeholder="What's the post content"></textarea> 
    <textarea name="p_misc" placeholder="Enter an html code"></textarea> 
    <textarea name="p_video" placeholder="Enter an embed code"></textarea> 
    </br> 
    <div class="upload"> 
    <input type="file" name="p_image" title="Pick an image for post"/> 
    </div></br> 
     <span style="margin-left: 5px; color: gray; font-family: sans-serif; font-size: .8em; ">max. size 5MB 
     </span></br></br> 
    <input type="submit" name="pub" value="Publish"/> 
    <input type="button" name="cancel" value="Cancel" onclick="window.open('dashboard','_self');"/> 
    </form> 
</div> 

Die PHP ist:

<?php 
if(isset($_POST['pub'])){ 

    $category = mysqli_real_escape_string($con,$_POST['p_category']); 
    $author = mysqli_real_escape_string($con,$_POST['p_author']); 
    $title = mysqli_real_escape_string($con,$_POST['p_title']); 
    $content = mysqli_real_escape_string($con,$_POST['p_content']); 
    $image_name = $_FILES['p_image']['name']; 
    $image_type = $_FILES['p_image']['type']; 
    $image_size = $_FILES['p_image']['size']; 
    $image_tmp = $_FILES['p_image']['tmp_name']; 
    $date = date("M,d,Y"); 
    $misc = $_POST['p_misc']; 
    $video = $_POST['p_video']; 

    if($image_type != "jpg" && $image_type != "png" && $image_type != "gif" && $image_type != "jpeg" && $image_size>500000) 
    { 
     echo "<script>alert('Image size is larger or invlaid format');</script>"; 
     exit(); 
    } 

$query = "INSERT INTO `me`(`post_category`, `post_author`, `post_title`, `post_content`, `post_image`, `post_date`, `post_misc`, `post_video`) VALUES ('$category','$author','$title','$content','$image_name','$date','$misc','$video')"; 

    if(mysqli_query($con,$query)) 
    { 
    move_uploaded_file($image_tmp,"images/$image_name"); 
    header("location:dashboard?done2=done2.png"); 
    } 
    } 
?> 

Antwort

0

// für Bildtyp

$expensions= array("jpeg","jpg","png","gif"); 
if(in_array($image_type,$expensions)=== false){ 
    echo "<script>alert('Image size is larger or invlaid format');</script>"; 
    exit(); 
} 

// für die Bildgröße

if($image_size > 500000){ 
    echo "<script>alert('Image size is larger or invlaid format');</script>"; 
    exit(); 
} 

ich es hoffe

hilfreich sein
+0

thnx @Dhaval Dave –

0

die Sie interessieren, wenn Bedingung:

unset($_POST); 
exit("<script>alert('Image size is larger or invlaid format');</script>"); 

und stellen Sie sicher, dass Ihre Einsatz Abfrage wie folgt

aussehen wird
$query = "INSERT INTO `me`(`post_category`, `post_author`, `post_title`, `post_content`, `post_image`, `post_date`, `post_misc`, `post_video`) VALUES ('".$category."','".$author."','".$title."','".$content."','".$image_name."','".$date."','".$misc."','".$video."')"; 
0
if(($image_type != "image/jpeg" && $image_type != "image/png" && $image_type != "image/gif") || $image_size > 500000) 
{ 
    echo "<script>alert('Image size is larger or invalid format');</script>"; 

} 
else 
{ 
    echo "<script>alert('valid format');</script>"; 
} 
0

Der Zustand funktioniert nicht. Versuchen Sie diesen Code.Wenn Sie mehr Bedingungen haben, versuchen Sie es einfach so.

if(($image_type != "jpg") && ($image_type != "png") && ($image_type != "gif") && ($image_type != "jpeg") && ($image_size>500000)) 
{ 
    echo "<script>alert('Image size is larger or invlaid format');</script>"; 
    exit(); 
}