illuz1on Posted May 24, 2007 Share Posted May 24, 2007 Hey I have this multiple image uploader form and I have added a couple of text fields into the form, so when it uploads the images, it inserts the text fields into a table. I want to also insert the name of the newly uploaded files into the DB, but I cant seem to understand how they are named when uploaded.. So basically how do I store the 3 uploaded image names as $img1-3... This is my insert statement: $name = $_POST['name']; $link = $_POST['link']; $thing1 = $_POST['thing1']; $thing2 = $_POST['thing2']; $thing3 = $_POST['thing3']; $pic1 = "??"; $pic2 = "??"; $pic3 = "??"; $sql = "INSERT INTO guides (id, name, link, thing1, thing2, thing3, pic1, pic2, pic3) VALUES ('', '".$name."', '".$link."', '".$thing1."', '".$thing2."', '".$thing3."', '".$pic1."', '".$pic2."', '".$pic3."')"; if (!mysql_query($sql,$con)) { die('Error: ' . mysql_error()); } And this is the page that processes the form, <?php $directory_self = str_replace(basename($_SERVER['PHP_SELF']), '', $_SERVER['PHP_SELF']); $uploadsDirectory = 'images/guides/'; $uploadForm = 'guide-form.php'; $uploadSuccess = 'guide-success.php'; $fieldname = 'file'; $errors = array(1 => 'php.ini max file size exceeded', 2 => 'html form max file size exceeded', 3 => 'file upload was only partial', 4 => 'no file was attached'); isset($_POST['submit']) or error('the upload form is neaded', $uploadForm); $active_keys = array(); foreach($_FILES[$fieldname]['name'] as $key => $filename) { if(!empty($filename)) { $active_keys[] = $key; } } count($active_keys) or error('No files were uploaded', $uploadForm); foreach($active_keys as $key) { ($_FILES[$fieldname]['error'][$key] == 0) or error($_FILES[$fieldname]['tmp_name'][$key].': '.$errors[$_FILES[$fieldname]['error'][$key]], $uploadForm); } foreach($active_keys as $key) { @is_uploaded_file($_FILES[$fieldname]['tmp_name'][$key]) or error($_FILES[$fieldname]['tmp_name'][$key].' not an HTTP upload', $uploadForm); } foreach($active_keys as $key) { @getimagesize($_FILES[$fieldname]['tmp_name'][$key]) or error($_FILES[$fieldname]['tmp_name'][$key].' not an image', $uploadForm); } foreach($active_keys as $key) { $now = time(); while(file_exists($uploadFilename[$key] = $uploadsDirectory.$now.'-'.$_FILES[$fieldname]['name'][$key])) { $now++; } } foreach($active_keys as $key) { @move_uploaded_file($_FILES[$fieldname]['tmp_name'][$key], $uploadFilename[$key]) or error('receiving directory insuffiecient permission', $uploadForm); } header('Location: ' . $uploadSuccess); function error($error, $location, $seconds = 5) { header("Refresh: $seconds; URL=\"$location\""); echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"'."\n". '"http://www.w3.org/TR/html4/strict.dtd">'."\n\n". '<html lang="en">'."\n". ' <head>'."\n". ' <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">'."\n\n". ' <link rel="stylesheet" type="text/css" href="stylesheet.css">'."\n\n". ' <title>Upload error</title>'."\n\n". ' </head>'."\n\n". ' <body>'."\n\n". ' <div id="Upload">'."\n\n". ' <h1>Upload failure</h1>'."\n\n". ' <p>An error has occured: '."\n\n". ' <span class="red">' . $error . '...</span>'."\n\n". ' The upload form is reloading</p>'."\n\n". ' </div>'."\n\n". '</html>'; exit; } ?> Quote Link to comment https://forums.phpfreaks.com/topic/52867-image-uploader-with-a-couple-addins-not-working/ Share on other sites More sharing options...
Lumio Posted May 24, 2007 Share Posted May 24, 2007 Please search for Uploading files in the boardsearch. You need $_FILES not $_POST for files. http://www.php.net/features.file-upload Quote Link to comment https://forums.phpfreaks.com/topic/52867-image-uploader-with-a-couple-addins-not-working/#findComment-261029 Share on other sites More sharing options...
illuz1on Posted May 24, 2007 Author Share Posted May 24, 2007 Ok cool read through that but dont understand still :\ $now.'-'.$_FILES[$fieldname]['name'][$key] thats how it stores the filenames I think but yea I still dont understand how to store the last 3 as vars.. Quote Link to comment https://forums.phpfreaks.com/topic/52867-image-uploader-with-a-couple-addins-not-working/#findComment-261038 Share on other sites More sharing options...
illuz1on Posted May 24, 2007 Author Share Posted May 24, 2007 What about this? $pic[] = $uploadFilename[$key]; $sql = "INSERT INTO iwt_guides (id, name, one, two, three, pic1, pic2, pic3) VALUES ('', '".$name."', '".$one."', '".$two."', '".$three."', '".$pic[1]."', '".$pic[2]."', '".$pic[3]."')"; Quote Link to comment https://forums.phpfreaks.com/topic/52867-image-uploader-with-a-couple-addins-not-working/#findComment-261045 Share on other sites More sharing options...
Lumio Posted May 24, 2007 Share Posted May 24, 2007 What is $key? $_FILES['field1']['name'] and so on Quote Link to comment https://forums.phpfreaks.com/topic/52867-image-uploader-with-a-couple-addins-not-working/#findComment-261101 Share on other sites More sharing options...
illuz1on Posted May 24, 2007 Author Share Posted May 24, 2007 I dont know I was just checking if maybe that would be a solution or give someone an idea.. the original post poses the question Quote Link to comment https://forums.phpfreaks.com/topic/52867-image-uploader-with-a-couple-addins-not-working/#findComment-261147 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.