Greg Zwaagstra
Greg Zwaagstra

Reputation: 383

PHP Image Upload trouble

I am currently working on a Joomla! website. I am using the Jumi extension (which allows custom scripts to be made and executed within Joomla! itself) to create a simple file upload tool. The problem is that I get the following error:

Warning: copy(C:/xampp/htdocs/images/1253889508.jpg) [function.copy]: failed to open stream: No such file or directory in C:\xampp\htdocs\Joomla\components\com_jumi\jumi.php(25) : eval()'d code on line 61

The offending code is as follows:

//we will give an unique name, for example the time in unix time format
$image_name=time().'.'.$extension;
//the new name will be containing the full path where will be stored (images folder)
$newname='C:/xampp/htdocs/images/'.$image_name;
//we verify if the image has been uploaded, and print error instead
$copied = copy($_FILES['image']['tmp_name'], $newname);

The full code is available here. Once I get this working, I will be modifying it to meet the needs of my website.

I'm not sure if the problem is a permissions issue with Jumi or if there is some other problem. The best I can tell is that for whatever reason, the temp file is not being created.

Thanks for any tips you may have!

Upvotes: 0

Views: 1147

Answers (3)

NDM
NDM

Reputation: 6830

does your C:/xampp/htdocs/images directory actually exists?
if not create it manually or with mkdir()

also try to use the constant DIRECTORY_SEPARATOR instead of hardcoding slashes

Also you should use the move_uploaded_file() for this and not the copy() function.

And never hardcode absolute paths into your scripts! instead get the root path and preferibly set it as a constant, this is mostly done with the dirname() function in the entry file, but joomla allready has a constant you can use for this.

Upvotes: 3

brettkelly
brettkelly

Reputation: 28205

Try this:

if(move_uploaded_file($_FILES['image']['tmp_name'], $newname)){
    // move worked, carry on
}

And use relative paths instead of absolute ones.

Upvotes: 6

Gav
Gav

Reputation: 11460

Forward slashes in the $namename path rather than backslashes?

Upvotes: 0

Related Questions