Jump to content

Array Help


SieRobin

Recommended Posts

My code is very jumbled.. what it is, is a picture upload script, it worked great before but now it's doing what it did before.. instead of putting the extension at the end of the picture name, it puts "array". I modified the script to output the users ID number and the extension. Like I said, it worked before, but now it doesn't.. and I never altered the code after it did actually work. So my user ID number is 1 therefore if the picture I uploaded was a jpg it would read as 1.jpg. You asked for the code, don't expect amazement lol.
Link to comment
Share on other sites

[code]  $player=$_SESSION['player'];
$userstats="select * from users where playername='$player'";
$userstats2=mysql_query($userstats) or die("Could not query players");
$userstats3=mysql_fetch_array($userstats2);
if($_POST['upload']) {
if($_FILES['image']['name'] == "")
{
  echo "<table class='table' align='center'><tr class='headline'><td><center>Upload Image</center></td></tr>
<tr class='mainrow'><td><center>Please select a file to upload!<br>
[<a href='settings.php'>Settings</a>]</center></td></tr></table>";
  exit;
}
$extension=array('image/gif', 'image/pjpeg', 'image/x-png');
$file="userimages/$userstats3[ID]$extension";
if(!in_array($_FILES['image']['type'], $extension))
{
  echo "<table class='table' align='center'><tr class='headline'><td><center>Upload Image</center></td></tr>
<tr class='mainrow'><td><center>That file type is not allowed!<br>
[<a href='settings.php'>Settings</a>]</center></td></tr></table>";
  exit;
}
$max_filesize = 102400;
$max_filesize_kb = ($max_filesize / 1024);

if($_FILES['image']['size'] > $max_filesize)
{
    echo "<table class='table' align='center'><tr class='headline'><td><center>Upload Image</center></td></tr>
<tr class='mainrow'><td><center>Your file is too large, files may be up to $max_filesize_kb kb.<br>
[<a href='settings.php'>Settings</a>]</center></td></tr></table>";
    exit;
}
$imagesize = getimagesize($_FILES['image']['tmp_name']);
$imagewidth = $imagesize[0];
$imageheight = $imagesize[1];
$maxwidth = 500;
$maxheight = 500;
if($imagewidth > $maxwidth || $imageheight > $maxheight)
{
    echo "<table class='table' align='center'><tr class='headline'><td><center>Upload Image</center></td></tr>
<tr class='mainrow'><td><center>Your file is too large, files may be up to $maxwidth px x $maxheight px in size.<br>
[<a href='settings.php'>Settings</a>]</center></td></tr></table>";
  exit;
}
if ($userstats3['uimage']=="") {
move_uploaded_file($_FILES['image']['tmp_name'], $file)
or die ("Couldn't upload ".$_FILES['image']['name']."\n");
mysql_query("UPDATE users set uimage='$file' where ID='$userstats3[ID]'");
echo "<table class='table' align='center'><tr class='headline'><td><center>Upload Image</center></td></tr>
<tr class='mainrow'><td><center>Your image has been successfully uploaded.<br>
[<a href='settings.php'>Settings</a>]</center></td></tr></table>";
exit;
} else {
echo "<table class='table' align='center'><tr class='headline'><td><center>Upload Image</center></td></tr>
<tr class='mainrow'><td><center>You already have an image uploaded, delete your current image if you'd like a new image.<br>
[<a href='settings.php'>Settings</a>]</center></td></tr></table>";
exit;
}
} [/code]
Link to comment
Share on other sites

the reason is exactly as it says - $extension is an array, as you can see in the line you were asking about.  to get the right extension, you'd have to figure out what the file's extension is, most likely with strrchr:

[code]$real_extension = strrchr($filename, '.');[/code]

and replace $extension with $real_extension when you define $file.  note that you'll also have to replace $filename with whatever contains the file's actual name.
Link to comment
Share on other sites

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.