我使用以下代码将文件从iPhone应用程序上传到PHP:
<?php
if ($_FILES["media"]["error"] > 0) {
echo "Error: " . $_FILES["media"]["error"] . "<br />";
} else {
echo "Upload: " . $_FILES["media"]["name"];
echo "Type: " . $_FILES["media"]["type"];
echo "Size: " . ($_FILES["media"]["size"] / 1024);
echo "Stored in: " . $_FILES["media"]["tmp_name"];
if (file_exists("uploads/" . $_FILES["media"]["name"])) {
echo $_FILES["media"]["name"] . " already exists. ";
} else {
move_uploaded_file($_FILES["media"]["tmp_name"],
"uploads/" . $_FILES["media"]["name"]);
echo "Stored in: " . "uploads/" . $_FILES["media"]["name"];
}
}
?>
之后,我收到成功消息“uploads / 2542543.jpg” - 但我似乎无法找到图像实际存储的位置。文件路径是相对于php文件(在php中 - 并且有一个uploads文件夹)还是从根文件中绝对的?
编辑:看起来该文件应该以php / uploads / filename.jpg结尾 - 但它似乎没有成功。我不太明白为什么 - 任何人都有任何想法?
答案 0 :(得分:2)
这是来自根
的绝对路径/uploads/2543.jpg
这是PHP文档的相对路径
uploads/2543.jpg
所以你正在使用相对路径(注意开始时缺少/
)
答案 1 :(得分:2)
这是使用upload_tmp_dir
指令在php.ini中定义的。如果未设置,则使用系统默认值,您可以使用sys_get_temp_dir
找出。我相信它在Linux上默认为/tmp
,在Windows上默认为C:\Windows\Temp\
。