Hi twistednetadmin,
Thursday, November 3, 2005, 4:50:33 PM, you wrote:
I have made this script to upload pictures into a picturegallery on a
website.
The script works just as I expected, but with one huge flaw. It doesn't work
from every users computer.
I can upload pictures with no problem, but another user get's an
errormessage. the other user emailed the picture to me and I could upload it
with no errors.
Here's the script.
form name=guildimage_upload method=post action=?php
$_SERVER['PHP_SELF'] ? enctype=multipart/form-data
table class=normal border=0 align=center
tr
td height=200 align=center valign=bottom
class=holyheader18Screenshot upload/td/tr
tr
td align=center colspan=2
table border=1
tr
td
Only pictures with the .jpg extension and size 300kb or less will be
uploaded!br
Imagenames should not contain quotes or any special signs!!br
/td
/tr
/table
/td
/tr
tr
td
File:nbsp;nbsp;nbsp;nbsp;nbsp;
input type=hidden name=MAX_FILE_SIZE value=30
input type=file name=guildimage
/td
/tr
tr
td
Comment:
input name=guildimage_comment type=text size=40 maxlength=40
/td
td
input type=submit name=submit value=Summon
/td
/tr
/tr
tr
td height=160 colspan=2 class=maintext valign=top
?php
chmod(/guildimages/, 0777);
##
###Uploads the image and checks if the image exists already###
##
if (isset($_POST['submit'])) //If you push the submit-button
{
$sysfolder=/guildimages/;
$filename=.$_FILES['guildimage']['name'].;
if (file_exists($sysfolder . $filename)) //If the filename exists.
{
echo Filename exists or no file selected. Please rename the file or select
a file;
}
elseif ($_FILES['guildimage']['type'] == image/jpeg) //And if the image
is .jpg less or equal 300kb...
{
copy ($_FILES['guildimage']['tmp_name'],
/guildimages/.$_FILES['guildimage']['name']) //Copy the image to
/guildimages
or die(Could not copy file); //Or don't if it's wrong size or format
$insertSQL = sprintf(INSERT INTO guildimages (guildimage_date,
guildimage_name, guildimage_comment, posted_by) VALUES (NOW(), '%s', '%s',
'%s'),
($_FILES['guildimage']['name']),
($_POST['guildimage_comment']),
($_SESSION['logname']));
$guildimage_upload = mysql_query($insertSQL) or die(mysql_error());
//insert all info to the DB
echo Result:br\n;
echo Filename: .$_FILES['guildimage']['name'].br\n;
echo Filesize: .$_FILES['guildimage']['size']. bytebr\n;
echo Filtype: .$_FILES['guildimage']['type'].br\n;
echo Congrats! It worked!\n;
}
else
{
echo Result:br\n;
echo Now that didn't seem to work... br\n
Did you try a wrong format or size? br\n
File that failed-- (.$_FILES['guildimage']['name'].)br;
}
}
?
/td
/tr
/table
/form
Can anyone see what's wrong? Since it works from some computers and not from
all?
How large was the image? Could it be that the script is timing out
during an upload? I recently had to change the max_input_time value on
one site because the uploads were so large they kept timing the script
out, yet some people (on really fast connections) could upload just
fine.
Cheers,
Rich
--
Zend Certified Engineer
PHP Development Services
http://www.corephp.co.uk
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php