Page 1 of 1

Image uploading problem

Posted: Fri Dec 19, 2003 7:28 am
by tristanlee85
I have a file hosted on my site. I am running Apache w/ PHP installed (nusphere package). The files is an image upload script...allowing users to upload images to my server. Whenever you brwose for the files you want to upload and click upload, it will tell me 0 files have been uploaded. Here is the address:

http://24.197.74.135/uploadmulti.php

Here is the script code:

Code: Select all

<?php

//user defined variables
$abpath = "/images"; //Absolute path to where images are uploaded. No trailing slash
$sizelim = "yes"; //Do you want size limit, yes or no
$size = "2500000"; //What do you want size limited to be if there is one
$number_of_uploads = 1;  //Number of uploads to occur

if ($_REQUEST['submitted']){ // Begin processing portion of script

//all image types to upload
$cert1 = "image/pjpeg"; //Jpeg type 1
$cert2 = "image/jpeg"; //Jpeg type 2
$cert3 = "image/gif"; //Gif type
$cert4 = "image/ief"; //Ief type
$cert5 = "image/png"; //Png type
$cert6 = "image/tiff"; //Tiff type
$cert7 = "image/bmp"; //Bmp Type
$cert8 = "image/vnd.wap.wbmp"; //Wbmp type
$cert9 = "image/x-cmu-raster"; //Ras type
$cert10 = "image/x-x-portable-anymap"; //Pnm type
$cert11 = "image/x-portable-bitmap"; //Pbm type
$cert12 = "image/x-portable-graymap"; //Pgm type
$cert13 = "image/x-portable-pixmap"; //Ppm type
$cert14 = "image/x-rgb"; //Rgb type
$cert15 = "image/x-xbitmap"; //Xbm type
$cert16 = "image/x-xpixmap"; //Xpm type
$cert17 = "image/x-xwindowdump"; //Xwd type

$log = "";

for ($i=0; $i<$number_of_uploads; $i++) {

	//checks if file exists
	if ($img_name[$i] == "") {
		$log .= "No file selected for upload $i<br>";
	}

	if ($img_name[$i] != "") {
		//checks if file exists
		if (file_exists("$abpath/$img_name[$i]")) {
			$log .= "File $i already existed<br>";
		} else {

			//checks if files to big
			if (($sizelim == "yes") && ($img_size[$i] > $size)) {
				$log .= "File $i was too big<br>";
			} else {


				//Checks if file is an image
				if (($img_type[$i] == $cert1) or ($img_type[$i] == $cert2) or ($img_type[$i] == $cert3) or ($img_type[$i] == $cert4) or ($img_type[$i] == $cert5) or ($img_type[$i] == $cert6) or ($img_type[$i] == $cert7) or ($img_type[$i] == $cert8) or ($img_type[$i] == $cert9) or ($img_type[$i] == $cert10) or ($img_type[$i] == $cert11) or ($img_type[$i] == $cert12) or ($img_type[$i] == $cert13) or ($img_type[$i] == $cert14) or ($img_type[$i] == $cert15) or ($img_type[$i] == $cert16) or ($img_type[$i] == $cert17)) {
					@copy($img[$i], "$abpath/$img_name[$i]") or $log .= "Couldn't copy image 1 to server<br>";
					if (file_exists("$abpath/$img_name[$i]")) {
						$log .= "File $i was uploaded<br>";
					}
					} else {
						$log .= "File $i is not an image<br>";
					}
				}
			}
		}


	}

?>

<html>
<head>
<title>Image Report</title>
</head>
<body>
<p>Log:<br>
<?

echo "$log";

?>
</p>
<body>
</html>
<? 
exit;
} // End processing portion of script
?>

<html>
<head>
<title>Upload Image</title>
</head>
<body>
<form method=POST action=uploadmulti.php enctype=multipart/form-data>
<p>Files to upload:<br>
<? 

for ($j=0; $j<$number_of_uploads; $j++) {
?>
<input type=file name=img[] size=30><br>
<?
}
?>
<input type="hidden" name="submitted" value="true">
<input type="submit" name="submit" value="Upload"> 
</form>
</body>
</html>
I checked my php.ini file and HTTP uploads are set to 'on'. Any help is appreciated.

Posted: Fri Dec 19, 2003 10:54 am
by Crashin
I've never used copy, so I can't speak about that. But, check these out, as I'm sure your answer is in one of them:
http://www.php.net/manual/en/features.file-upload.php
http://www.php.net/manual/en/function.i ... d-file.php
http://www.php.net/manual/en/function.m ... d-file.php
:D

Oh, and also, check out this tutorial on writing a file-upload class:
http://forums.phpfreaks.com/tutorials/85/0.php

Posted: Sat Dec 20, 2003 5:49 pm
by dull1554
i honnestly dont see anything wrong with your script, i have a similar one, but one suggestion that i do have for you is to place you different image types into an array, it will make your life a whole heck of alot easier!!! i'll keep looking at it but i see nothing wrong...!!!???