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; } ?> 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 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.. 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]."')"; 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 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 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
Archived
This topic is now archived and is closed to further replies.