没有发现任何适合我的事情,但也许你做了。你应该知道我在当地的环境中,使用apache&在MAMP中的PHP。
我正在将文件图像上传到文件夹(uploads),该文件夹位于根文件夹(htdocs)中。问题是,当capybara.jpg上传时,它最终会在uploads文件夹之外作为uploadscapybara.jpg。
我的php在下面
$name = $_FILES['image']['name'];
//$size = $_FILES['image']['size'];
//$type = $_FILES['image']['type'];
$tmp_name = $_FILES['image']['tmp_name'];
if (isset($name)) {
if (!empty($name)) {
$location = 'uploads';
if (move_uploaded_file($tmp_name, $location.$name)) {
echo 'uploaded!';
}
} else {
echo 'Please choose a file';
}
}
我没有得到任何警告,因为php在上面,但仍然有问题。如果我尝试为上传添加斜杠,写$location = '/uploads'
我会得到
Warning: move_uploaded_file(/uploadsCapybara.jpg): failed to open stream: Permission denied in /Applications/MAMP/htdocs/uploadfile.php on line 22
Warning: move_uploaded_file(): Unable to move '/Applications/MAMP/tmp/php/phpCTLZgH' to '/uploadsCapybara.jpg' in
我进入该文件夹,点击获取信息,并将Privelege更改为读取和写入超级用户和管理员。我写了一个别名mod,它根本就是要上传的文件,然后为<Directory "/Applications/MAMP/uploads">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
写了一个目录,
我还为该文件夹编写了include_path。
".:/Applications/MAMP/bin/php/php5.5.14/lib/php:/Applications/MAMP/htdocs/uploads"
所以从我读过的所有内容,我都尝试过它们,没有任何工作。我的语法中的东西必须关闭???什么不是我得到??
答案 0 :(得分:1)
您忘记了位置值中的尾部斜杠。
$location = 'uploads/';