Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.0k views
in Technique[技术] by (71.8m points)

apache - PHP: move_uploaded_file() failed to open stream: No such file or directory

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:UniServermpphp3F62.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.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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');

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...