Page 1 of 1

Upload Script Error

Posted: Fri Feb 12, 2010 10:22 pm
by sheppardzwc
Tell me this guys.. will this theoretically work? It keeps giving me the "filetypes not supported" message I made.. even though I'm uploading a .png file. As well, does copy, so forth, work too? Thanks.

Code: Select all

<?php
 
if($_REQUEST['do'] == 'create') {
    foreach($_POST['tooncloset_upload'] as $up_ext) {
        if(end(explode('.', $up_ext)) == 'jpg' OR end(explode('.', $up_ext)) == 'jpeg' OR end(explode('.', $up_ext)) == 'png' OR end(explode('.', $up_ext)) == 'mp3' OR end(explode('.', $up_ext)) == 'wav' OR end(explode('.', $up_ext)) == 'txt' OR end(explode('.', $up_ext)) == 'doc' OR end(explode('.', $up_ext)) == 'psd') {
            foreach($_FILES['tooncloset_upload']['tmp_name'] as $up_upload) {
                    copy($up_upload, genFilename('files/' . $up_upload));
                    successfulUpload(genFilename($up_upload), shorten(genFilename($up_upload)));
            }
        } else {
            friendlyError('<center>We\'re sorry, our supported file extensions are: <strong>jpg, jpeg, png, gif, mp3, wav, txt, doc, and psd</strong> ' . backwardLink('Try again?') . '</center>');
        }
    }
} else {
    createPage('Upload Files');
    createHeader();
    output('<center>You may upload a maximum of 10 files at one time. You can upload them below:<br /><br /><form name="tooncloset_upload" method="POST" action="?do=create"><input type="file" name="tooncloset_upload[]" /><br /><input type="file" name="tooncloset_upload[]" /><br /><input type="file" name="tooncloset_upload[]" /><br /><input type="file" name="tooncloset_upload[]" /><br /><input type="file" name="tooncloset_upload[]" /><br /><input type="file" name="tooncloset_upload[]" /><br /><input type="file" name="tooncloset_upload[]" /><br /><input type="file" name="tooncloset_upload[]" /><br /><input type="file" name="tooncloset_upload[]" /><br /><input type="file" name="tooncloset_upload[]" /><br /><br /><input type="submit" value="Upload" /></form></center>');
    createFooter(YEAR);
    closePage();
}
 
?>

Re: Upload Script Error

Posted: Sat Feb 13, 2010 6:29 am
by a.heresey
I think the problem is on line 6

Code: Select all

 
<?php
 
if($_REQUEST['do'] == 'create') {
//this is checking each tooncloset_upload field whether it is filled or not
    foreach($_POST['tooncloset_upload'] as $up_ext) {
        if(end(explode('.', $up_ext)) == 'jpg' OR end(explode('.', $up_ext)) == 'jpeg' OR end(explode('.', $up_ext)) == 'png' OR end(explode('.', $up_ext)) == 'mp3' OR end(explode('.', $up_ext)) == 'wav' OR end(explode('.', $up_ext)) == 'txt' OR end(explode('.', $up_ext)) == 'doc' OR end(explode('.', $up_ext)) == 'psd') {
            foreach($_FILES['tooncloset_upload']['tmp_name'] as $up_upload) {
                    copy($up_upload, genFilename('files/' . $up_upload));
                    successfulUpload(genFilename($up_upload), shorten(genFilename($up_upload)));
            }
        } else {
            friendlyError('<center>We're sorry, our supported file extensions are: <strong>jpg, jpeg, png, gif, mp3, wav, txt, doc, and psd</strong> ' . backwardLink('Try again?') . '</center>');
        }
    }
} else {
    createPage('Upload Files');
    createHeader();
    output('<center>You may upload a maximum of 10 files at one time. You can upload them below:<br /><br /><form name="tooncloset_upload" method="POST" action="?do=create"><input type="file" name="tooncloset_upload[]" /><br /><input type="file" name="tooncloset_upload[]" /><br /><input type="file" name="tooncloset_upload[]" /><br /><input type="file" name="tooncloset_upload[]" /><br /><input type="file" name="tooncloset_upload[]" /><br /><input type="file" name="tooncloset_upload[]" /><br /><input type="file" name="tooncloset_upload[]" /><br /><input type="file" name="tooncloset_upload[]" /><br /><input type="file" name="tooncloset_upload[]" /><br /><input type="file" name="tooncloset_upload[]" /><br /><br /><input type="submit" value="Upload" /></form></center>');
    createFooter(YEAR);
    closePage();
}
 
?>
 
 

Re: Upload Script Error

Posted: Sat Feb 13, 2010 2:12 pm
by sheppardzwc
Alright, I've solved that issue. Now I'm getting a foreach() argument error. How can I fix this?

Warning: Invalid argument supplied for foreach() in /home/closet/upload.php on line 16

Code: Select all

<?php
 
require_once('./global.php');
 
if($_REQUEST['do'] == 'create') {
    foreach($_POST['tooncloset_upload'] as $up_ext) {
        if(!empty($up_ext)) {
            if(end(explode('.', $up_ext)) == 'jpg' OR end(explode('.', $up_ext)) == 'jpeg' OR end(explode('.', $up_ext)) == 'png' OR end(explode('.', $up_ext)) == 'mp3' OR end(explode('.', $up_ext)) == 'wav' OR end(explode('.', $up_ext)) == 'txt' OR end(explode('.', $up_ext)) == 'doc' OR end(explode('.', $up_ext)) == 'psd') {
                foreach($_FILES['tooncloset_upload']['name'] as $key => $value) {
                    $up_dir = DIR . '/files/';
                    $up_tmp = $_FILES['tooncloset_upload']['tmp_name'][$key];
                    $up_name = $_FILES['tooncloset_upload']['name'][$key];
                    $up_genname = genFilename($_FILES['tooncloset_upload']['name'][$key]);
                    if(!move_uploaded_file($tmp_name, $up_dir . $up_name)) {
                        friendlyError('<center>We\'re sorry, but we couldn\'t seem to move your file. Please report this to the <a href="mailto:webmaster@tooncloset.com">webmaster</a>.');
                    } else {
                        successfulUpload($up_name);
                    }
                }
            } else {
                friendlyError('<center>We\'re sorry, our supported file extensions are: <strong>jpg, jpeg, png, gif, mp3, wav, txt, doc, and psd</strong><br /><br />You tried to upload the file ' . $up_ext . ' which does not have those supported file extensions. ' . backwardLink('Try again?') . '</center>');
            }
        }
    }
} else {
    createPage('Upload Files');
    createHeader();
    output('<center>You may upload a maximum of 10 files at one time. You can upload them below:<br /><br /><form name="tooncloset_upload" method="POST" action="?do=create"><input type="file" name="tooncloset_upload[]" /><br /><input type="file" name="tooncloset_upload[]" /><br /><input type="file" name="tooncloset_upload[]" /><br /><input type="file" name="tooncloset_upload[]" /><br /><input type="file" name="tooncloset_upload[]" /><br /><input type="file" name="tooncloset_upload[]" /><br /><input type="file" name="tooncloset_upload[]" /><br /><input type="file" name="tooncloset_upload[]" /><br /><input type="file" name="tooncloset_upload[]" /><br /><input type="file" name="tooncloset_upload[]" /><br /><br /><input type="submit" value="Upload" /></form></center>');
    createFooter(YEAR);
    closePage();
}
 
?>