From:             [EMAIL PROTECTED]
Operating system: Linux server27.promotion-web.net 2.2.12-20 #1 Mon Sep 27 10:40:35 
EDT 1999 i686 unknown
PHP version:      4.0.4pl1
PHP Bug Type:     PHP options/info functions
Bug description:  Uploaded file not stored in "upload_tmp_dir"

On the server, and according to phpInfo(), main PHP variables are:
Apache Version = Apache/1.3.19 
Apache Release = 10319100 
Apache API Version = 19990320 
User/Group = nobody(99)/99
Loaded Modules = mod_php4, .....

Session Support = enabled
session.auto_start = Off

upload_max_filesize = 1000000
upload_tmp_dir = ./tmp/

I'm running the script below; it's located in a directory where has been created a 
directory "tmp" (so the path "./tmp/" is OK) with rights set to "777" (chmod):

<HTML>
<HEAD><TITLE>Upload Test</TITLE></HEAD>
<BODY>
<?
// Test Upload
//
// La première fois, "action" n'est pas renseigné
// => le formulaire est affiché
// A l'envoi du formulaire, "action" est renseigné
// => le script affiche les paramètres du fichier télé chargé
//    et affiche le début du fichier

if ( !$action ) {

// Affichage du formulaire

  echo "<form enctype=multipart/form-data action=".$PHP_SELF."
method=POST>\n";
  echo "<input type=hidden name=MAX_FILE_SIZE value=100000>\n";
  echo "Send this file: ";
  echo "<input name=userfile type=file>\n";
  echo "<input type=hidden name=action value=show_me_the_file>\n";
  echo "<input type=submit value=Send File>\n";
  echo "</form>\n";

} else {

// Affichage des paramètres du fichier téléchargé

  echo "<h2>Size: $userfile_size</h2>\n";
  echo "<h2>Type: $userfile_type</h2>\n";
  echo "<h2>Name: $userfile_name</h2>\n";
  echo "<h2>File: $userfile     </h2>\n";

// Listing du répertoire "./tmp"

  $dir='./tmp';
  $handle=opendir($dir);
  echo "<p>Pointeur de dossier: $handle\n";
  echo "<br>Fichiers de $dir:\n";
  while ($fic = readdir($handle)) {
  echo "<br>$fic\n";
  }
  closedir($handle); 
  echo "<br>\n";

// Suppression des doubles slash dans le nom de fichier

  $file=ereg_replace("//+","/",$userfile);

// Lecture et affichage du début du fichier

  $fd=fopen($file,"r") or die ("Unable to open uploaded file!");
  $data=fread($fd, MAX_SIZE);
  fclose($fd);
  echo "Beginning of file: ".substr($data, 0, 25);
  
}
?>
</BODY>
</HTML>
<!-------------------------------------------------------->

The variables displayed are the one expected (user's file name, type, size), the temp 
file has a coherent name ("./tmp/phpxxxxxx")... but upload directory "./tmp" remains 
empty.
There is no error generated in "error.log" during PHP recovery of uploaded file. An 
error occurs when the script try to access the file.

I've double-checked everything I could think of...

The problem exposed seems to be the same as the one posted with Bug id #10386.



-- 
Edit Bug report at: http://bugs.php.net/?id=10514&edit=1



-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to