Jump to content

Recommended Posts

if($imagefile)
 {
		$file_upload_err=0;
		$max_file_size="10000000"; // file size in bytes
		$max_file_size_kb="500";
		$file_upload_err_msg="";

		if($_FILES['imagefile']['size']>$max_file_size)
		{
			$file_upload_err_msg.="<font color='red'><strong>Image is bigger than the allowed file upload size ($max_file_size_kb kb).</strong></font><br>";
			$file_upload_err=1;
		}

		if($imagefile && ($_FILES['imagefile']['type']!="image/jpeg" && $_FILES['imagefile']['type']!="image/pjpeg"))
		{
			$type=$_FILES['imagefile']['type'];
			$file_upload_err_msg.="<font color='red'><strong>Image is of a wrong file type.<br>Please upload only JPG images.</strong></font><br>";
			$file_upload_err=1;
		}

 

Good morning, I have the above code. If I would like more imagefile to go through the "if" function. How do I code? like say I have imagefile, imagefile1,imagefile2, imagefile3 so on..

Link to comment
https://forums.phpfreaks.com/topic/147169-multi-images-loop-for-if-function/
Share on other sites

here is a working example that works need to modify it for images though.

 

all files are saved to folder called data which you need to create or change data to thedir you want to save to.

 

foreach ($_FILES["imagefile"]["error"] as $key => $error) { 
        if ($error == UPLOAD_ERR_OK) { 
$fileatt = $_FILES['imagefile']['tmp_name'][$key];
$fileatt_type = $_FILES['imagefile']['type'][$key];
$fileatt_name = $_FILES['imagefile']['name'][$key]; 

        move_uploaded_file($fileatt, "data/$fileatt_name"); 
    } 
}

for ($i = 0; $eimages = ${'imagefile'.$i}; $i++) {
   
if($eimages)
 {
		$file_upload_err=0;
		$max_file_size="10000000"; // file size in bytes
		$max_file_size_kb="500";
		$file_upload_err_msg="";

		if($_FILES['imagefile'.$i]['size']>$max_file_size)
		{
			$file_upload_err_msg.="<font color='red'><strong>Image is bigger than the allowed file upload size ($max_file_size_kb kb).</strong></font><br>";
			$file_upload_err=1;
		}

		if($eimages && ($_FILES['imagefile'.$i]['type']!="image/jpeg" && $_FILES['imagefile'.$i]['type']!="image/pjpeg"))
		{
			$type=$_FILES['imagefile'.$i]['type'];
			$file_upload_err_msg.="<font color='red'><strong>Image is of a wrong file type.<br>Please upload only JPG images.</strong></font><br>";
			$file_upload_err=1;
		}

}

 

Is the coding correct?

<?php

include 'config2.php';
if($_POST[action]=="Update")
{	

$check_result=0;
$check_login=mysql_query("select * from users where email='$_POST[user]' and passwd='$_POST[pass]' and pid='$_GET[pid]'");
$check_result=mysql_num_rows($check_login);		




}

if($check_result>0)
{

$folder_path="photo/$_GET[pid]/";
mkdir($folder_path,0777);


if($imagefile)
 {
		$file_upload_err=0;
		$max_file_size="10000000"; // file size in bytes
		$max_file_size_kb="500";
		$file_upload_err_msg="";

		if($_FILES['imagefile']['size']>$max_file_size)
		{
			$file_upload_err_msg.="<font color='red'><strong>Image is bigger than the allowed file upload size ($max_file_size_kb kb).</strong></font><br>";
			$file_upload_err=1;
		}

		if($imagefile && ($_FILES['imagefile']['type']!="image/jpeg" && $_FILES['imagefile']['type']!="image/pjpeg"))
		{
			$type=$_FILES['imagefile']['type'];
			$file_upload_err_msg.="<font color='red'><strong>Image is of a wrong file type.<br>Please upload only JPG images.</strong></font><br>";
			$file_upload_err=1;
		}




if($file_upload_err==0)

             {

                $get_pdt_info=mysql_query("select * from users where pid=$_GET[pid]");
        	$pdt_row=mysql_fetch_array($get_pdt_info);

	        unlink("photo/$_GET[pid]/$pdt_row[imgdata]");





                $pdt_id=$_GET[pid];

			$folder_path="photo/$pdt_id/";
			$image_path=$folder_path.$_FILES['imagefile']['name'];
			$img_name=$_FILES['imagefile']['name'];

			copy($imagefile, "$image_path");

		$update_pdt=mysql_query("update users set imgdata='$img_name' where pid=$_GET[pid]");

          }			


       }


}


?>

<html>

<title>Upload an image to a database</title>


<body>

<? 
$get_pdt_info=mysql_query("select * from instructor where pid=$_GET[pid]");
$pdt_row=mysql_fetch_array($get_pdt_info);
?>


<h2>Update with new information</h2>

<form name="form" enctype="multipart/form-data" method="post" action="<?php echo"$PHP_SELF?pid=$_GET[pid]"; ?>">
Please insert the images
<input type='file' name='imagefile'><br>


<br>
USER : <input name="user"><br>
PASSWORD : <input name="pass"><br>


<input type="submit" name="action" value="Update">
</form>

</body>
</html>

 

Take a look at my whole code. It can only insert one image. I want to insert 12 images, that the problem I am facing now.

input form should be a php form

 

must include the following

 

<form name="nameofform" method="post" action="submit.php" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="10000000" />

 

also the input field should be

 

<input type='file' name='imagefile[]'>
<input type='file' name='imagefile[]'>
<input type='file' name='imagefile[]'>

 

<?php

include 'config2.php';
if($_POST[action]=="Update")
{	

$check_result=0;
$check_login=mysql_query("select * from users where email='$_POST[user]' and passwd='$_POST[pass]' and pid='$_GET[pid]'");
$check_result=mysql_num_rows($check_login);		




}

if($check_result>0)
{

$folder_path="photo/$_GET[pid]/";
mkdir($folder_path,0777);


for ($i = 0; $eimages = ${'imagefile'.$i}; $i++) {
   
if($eimages)
{
		$file_upload_err=0;
		$max_file_size="10000000"; // file size in bytes
		$max_file_size_kb="500";
		$file_upload_err_msg="";

		if($_FILES['imagefile'.$i]['size']>$max_file_size)
		{
			$file_upload_err_msg.="<font color='red'><strong>Image is bigger than the allowed file upload size ($max_file_size_kb kb).</strong></font><br>";
			$file_upload_err=1;
		}

		if($eimages && ($_FILES['imagefile'.$i]['type']!="image/jpeg" && $_FILES['imagefile'.$i]['type']!="image/pjpeg"))
		{
			$type=$_FILES['imagefile'.$i]['type'];
			$file_upload_err_msg.="<font color='red'><strong>Image is of a wrong file type.<br>Please upload only JPG images.</strong></font><br>";
			$file_upload_err=1;
		}

}


if($file_upload_err==0)

             {

                $get_pdt_info=mysql_query("select * from users where pid=$_GET[pid]");
        	$pdt_row=mysql_fetch_array($get_pdt_info);

	        unlink("photo/$_GET[pid]/$pdt_row[imgdata]");





                $pdt_id=$_GET[pid];

			$folder_path="photo/$pdt_id/";
			$image_path=$folder_path.$_FILES['imagefile'.$i]['name'];
			$img_name=$_FILES['imagefile'.$i]['name'];

			copy($eimages, "$image_path");

		$update_pdt=mysql_query("update users set imgdata='$img_name' where pid=$_GET[pid]");

          }			


       }


}


?>

<html>

<title>Upload an image to a database</title>


<body>

<? 
$get_pdt_info=mysql_query("select * from instructor where pid=$_GET[pid]");
$pdt_row=mysql_fetch_array($get_pdt_info);
?>


<h2>Update with new information</h2>

<form name="form" enctype="multipart/form-data" method="post" action="<?php echo"$PHP_SELF?pid=$_GET[pid]"; ?>">
Please insert the images
<input type='file' name='imagefile[]'>
<input type='file' name='imagefile[]'>
<input type='file' name='imagefile[]'>
<br>


<br>
USER : <input name="user"><br>
PASSWORD : <input name="pass"><br>


<input type="submit" name="action" value="Update">
</form>

</body>
</html>

 

it doesn't work

am i right you are trying to create a form that will allow a registered user to upload up to 12 pictures from a form only if they are a registered user? and also make a folder with the users id as the folder name?

 

if so please tell me this is easy

 

but at the moment your script will not work it has so many errors let me know. i will try to help

you need to make an extra row for each file you need imgdata1 imgdata1type imgdata2 imgdata2type etc

 

are these people already logged on before they get to this page or not?

 

if not it is impossible to get the value of pid we would need to make them login first?

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.