Ik heb een bestaand script aangepast zodat er een map naam aangevraagd wordt. Deze map wordt aangemaakt en het is de bedoeling dat daar de fotos dan inkomen. De map wordt wel aangemaakt maar de fotos worden niet naar die nieuwe map geupload, ze gaan echter naar de $path. Ik heb dus het vermoeden dat de strings $path en $plek niet aan elkaar gaan bij $upload_directory.

Ook staat er deze warning:
Warning: mkdir(/home/strato/www/he/www.***.nl/htdocs/fotoalbum/) [function.mkdir]: File exists in /mnt/web4/53/64/51542364/htdocs/fotoalbum/Upload.php on line 9

wat is hier tegen te doen?

<?php

   //configuration settings
   //you can change the upload directory to any existing directory
   $plek = $_POST['album'];
   $path = $_SERVER['DOCUMENT_ROOT'].'/fotoalbum/';
   
$upload_directory = $path.$plek;
   mkdir($path.$plek,0777);

   
   //change the maximum number of uploads
   $max_uploads = 20;



   if ($_SERVER['REQUEST_METHOD'] == 'POST')
   {
      //create file fields to select the files you would like to upload
      if ($_POST['files'])
      {
         printf('<form method="post" action="%s" enctype="multipart/form-data">', $_SERVER['PHP_SELF']);
         //create list with the file fields
         for ($i = 1; $i <= $_POST['files']; $i++)
         {
            printf('<input type="file" name="file_%s" size="100"><br />', $i);
         }
         printf('<input type="button" onclick="javascript: history.back(-1);" value="Cancel">');
         printf('<input type="submit" value="Upload files">');
         printf('<input type="hidden" name="history_files" value="%s">', $_POST['files']);
         printf('</form>');
      }
      else
      {
         //upload all files and create report
         printf('<h3>Result report:</h3>');
         printf('Upload to: %s<br /><br />', $upload_directory);
         printf('<table border="1">');
         for ($i = 1; $i <= $_POST['history_files']; $i++)
         {
            $tmp_filename = $_FILES['file_'.$i]['tmp_name'];
            $filename = $_FILES['file_'.$i]['name'];
            if (move_uploaded_file($tmp_filename, $upload_directory.'/'.$filename))
            {
               $status = 'Done...';
            }
            else
            {
               $status = 'Failure!';
            }
            printf('<tr><td>%s</td><td>%s</td><td>%s</td></tr>', $i, ($filename)?$filename:'&nbsp;', $status);
         }
         printf('</table>');
      }
   }
   else
   {
      printf('<form method="post" action="%s">', $_SERVER['PHP_SELF']);
      printf('Van wie zijn de fotos?');
      printf('<input type="text" name="album">');
      printf('Number of files to upload: ');
      printf('<select name="files">');
      //create list with numbers
      for ($i = 1; $i <= $max_uploads; $i++)
      {
         printf('<option value="%1$s">%1$s', $i);
      }
      printf('</select> ');
      printf('<input type="submit" value="Create fields">');
      printf('</form>');
   }

?>
Gebruik [php]isset()[/php]. Er is nog niets gePOST.
Dit is nu mijn regel 5 ik weet niet of het goed is....

$plek = isset($album);


Maar hij zet het nog steeds niet in de goede map.... en hij geeft nu een

Notice: Undefined index: files in /mnt/web4/53/64/51542364/htdocs/fotoalbum/upload.php on line 26
if(isset($_POST['album'])
{
$plek = $_POST['album'];
}
else
{
// Er is nog niks gepost
}
Jacco schreef op 22.05.2007 10:23

$upload_directory = $path.$plek;

vervangen door

$upload_directory = $path."".$plek;



WTF ?
Baarr schreef op 22.05.2007 22:46
[quote='Jacco schreef op 22.05.2007 10:23']
$upload_directory = $path.$plek;

vervangen door

$upload_directory = $path."".$plek;



WTF ?[/quote]

[smoesjes mode]Zat toen onder tijdsdruk dus ff snel antwoordgegeven :)[/smoesjes mode]
dat er bij allebij hetzelfde staat gok ik zo
Jacco schreef op 23.05.2007 09:17
[quote='Baarr schreef op 22.05.2007 22:46'][quote='Jacco schreef op 22.05.2007 10:23']
$upload_directory = $path.$plek;

vervangen door

$upload_directory = $path."".$plek;



WTF ?[/quote]

Verklaar je nader.[/quote]
Het is onzinnig om er een lege string tussen te plakken.
Gewoon zo:
$upload_directory = $path . $plek;

Reageren