Bug #53929 [Opn->Nab]: no-temporary name for a uploaded file

From: Date: Fri, 24 Feb 2012 19:37:55 +0000
Subject: Bug #53929 [Opn->Nab]: no-temporary name for a uploaded file
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-167802@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=53929&edit=1

 ID:                 53929
 Updated by:         sixd@php.net
 Reported by:        dungar at kabia dot fr
 Summary:            no-temporary name for a uploaded file
-Status:             Open
+Status:             Not a bug
 Type:               Bug
 Package:            Filesystem function related
 Operating System:   debian
 PHP Version:        5.3.5
 Block user comment: N
 Private report:     N

 New Comment:

Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to
report
a bug at http://bugs.php.net/how-to-report.php

Please review the user comments and reopen if you still consider this a problem.


Previous Comments:
------------------------------------------------------------------------
[2011-07-31 19:55:13] mf_peppa at yahoo dot com

oops, my bad - there is no problem with PHP, it's just a programming error - the 
guy who submitted this bug calls $fFile = $oForms_File->getValue('file'), which 
includes a move_uploaded_file() call... that's why the test results are wrong... i 
would recommend closing this bug

------------------------------------------------------------------------
[2011-07-31 18:53:09] mf_peppa at yahoo dot com

same problem (mac os lion, php 5.3.6)

------------------------------------------------------------------------
[2011-02-04 19:25:09] dungar at kabia dot fr

Description:
------------
The function :is_uploaded_file return every time false.
(for a classical upload)
For find the file i must edit the path :
$file['file']['tmp_name']
by this path :
dirname($file['file']['tmp_name']).'/'.$file['file']['name']

The file of the tmp_name wasn't changed, and the uploaded name is used.
(May be dangerous for include attack ?)

Test script:
---------------
		$oForms_File = new Forms_File();
		if ( $oForms_File->isValid($_POST) ) {
			$fFile = $oForms_File->getValue('file');
			$adapter = new Zend_File_Transfer_Adapter_Http();
			$adapter->setDestination(CORE_APP_DIR.DS.'modules'.DS.'bugtracking'.DS.'files','test.todel');
			; 
			$file = $adapter->getFileInfo('file');
			echo
file_get_contents(dirname($file['file']['tmp_name']).'/'.$file['file']['name']);exit;
			test($file);
			test($_FILES);
			test( is_uploaded_file($_FILES['file']['tmp_name']) );
			test($adapter->receive());
			test($adapter->getMessages());
			function ScanDirectory($Directory){

  $MyDirectory = opendir($Directory) or die('Erreur');
	while($Entry = @readdir($MyDirectory)) {
		if(is_dir($Directory.'/'.$Entry)&& $Entry != '.' && $Entry !=
'..') {
                         echo '<ul>'.$Directory;
			ScanDirectory($Directory.'/'.$Entry);
                        echo '</ul>';
		}
		else {
			echo '<li>'.$Entry.'</li>';
                }
	}
  closedir($MyDirectory);
}

ScanDirectory('/webdata/n/q/7a8fwoym65pts9/vbi3und15xa44wgw/php_upload');





<?php

class Forms_File extends Zend_Form {
	public function __construct($options = null) {
		 parent::__construct($options);
		 // setting Form name, Form action and Form Ecryption type
		 $this->setName('file');
		 /*
		 $this->setAction($this->view->url(
				array(
				'module'	=>
Zend_Controller_Front::getInstance()->getRequest()->getParam('module'),
				'controller'=> 'files',
				'action'	=> 'upload',
				'id'		=>
Zend_Controller_Front::getInstance()->getRequest()->getParam('id'),
				), $this->routes['crud-action-controller-id'], true)
				);
		 */
		 $this->setAttrib('enctype', 'multipart/form-data');
		 
		 // creating object for Zend_Form_Element_File
		 $doc_file = new Zend_Form_Element_File('file');
		 $doc_file//->setLabel('Document File Path')
				  ->setRequired(true);
	
		 // creating object for submit button
		 $submit = new Zend_Form_Element_Submit('submit');
		 $submit->setLabel('Upload File')
				 ->setAttrib('id', 'submitbutton');
	
		// adding elements to form Object
		$this->addElements(array($doc_file, $submit));
	}
}



<?php echo $this->oForm; ?>








Expected result:
----------------
test( is_uploaded_file($_FILES['file']['tmp_name']) ); => true

Actual result:
--------------
test( is_uploaded_file($_FILES['file']['tmp_name']) ); => false


------------------------------------------------------------------------



-- 
Edit this bug report at https://bugs.php.net/bug.php?id=53929&edit=1


Thread (1 message)

  • sixd@php.net
  • Unknown Message
    • sixd@php.net
« previous php.bugs (#167802) next »