I'm trying to get PHP to move an uploaded file from the tmp directory to somewhere permanent on my webserver. It seems simple enough, but I'm getting this error:
Unable to move 'C:\UniServer\tmp\php3F62.tmp' to 'static/images/slides/1/1.jpg'
Pretty straight-forward, right? It can't find the destination folder.
My question is: How do I reference the desired target directory?
Is the reference relative to the script's position on the server? Or is it relative to the URL? Or the PHP DOCUMENT_ROOT
? Or the OS's filesystem? Or something else?
I can't find the answer in the PHP documentation or indeed in any of the similar questions here on SO..
Can anyone help? Thanks.
A simple way to keep track of the path is just to define the absolute path in your index.php
define ('SITE_ROOT', realpath(dirname(__FILE__)));
Then just use it like:
move_uploaded_file($_FILES['file']['tmp_name'], SITE_ROOT.'/static/images/slides/1/1.jpg');
I had the same problem with my uploading. See my example and maybe it can help you.
The file that I created is named "uploads".
$uploads_dir = 'uploads/';
$name = $_FILES['userfile']['name'];
if (is_uploaded_file($_FILES['userfile']['tmp_name']))
{
//in case you want to move the file in uploads directory
move_uploaded_file($_FILES['userfile']['tmp_name'], $uploads_dir.$name);
echo 'moved file to destination directory';
exit;
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With