我有一个像
这样的POST方法的表单<form name="imgbnk" action="imgbnk.php" method="POST" enctype="multipart/form-data" onsubmit="return validateForm()">
select the image <input type="file" name="imgloc">
imgbnk.php
正在将其检索为$filename=$_POST["imgloc"];
问题是
POST
方法时,$filename
未从表单imgbnk
获取任何值,就好像我使用GET
方法一样,$filename
正在返回文件在预期的名字,我想知道为什么POST
无法检索相同的。$size=getimagesize($filename);
在使用Warning: getimagesize(Hydrangeas.jpg) [function.getimagesize]: failed to open stream: No such file or directory in C:\wamp\www\imgbnk\imgbnk.php
方法时会出现如GET
的警告。POST
说Warning: getimagesize() [function.getimagesize]: Filename cannot be empty
。请帮助我理解为什么会发生这种情况,任务是获取图像的完整属性并将其存储在本地。
提前致谢:)
答案 0 :(得分:2)
您必须使用POST来上传文件。然后使用$ _FILES访问上传文件的属性,而不是$ _POST。
有关详细信息,请参阅此手册条目:http://php.net/manual/en/features.file-upload.php
答案 1 :(得分:0)
您可以使用$_FILES代替$ _POST。将获取文件的所有属性。 $ _POST不能用于此文件上传
答案 2 :(得分:0)
您可以在$_FILES['imgloc']['name']
...
答案 3 :(得分:0)
我建议你这样做
要检索图像属性,请使用
$name=$_FILES['imgloc']['name'];
$size=$_FILES['imgloc']['size'];
$type=$_FILES['imgloc']['type'];
$tmp_path=$_FILES['imgloc']['tmp_name'];
$error=$_FILES['imgloc']['error'];
并且要检索其他表单字段详细信息,请使用
$title=$_POST['title'];
$description=$_POST['desc'];
$keywords=$_POST['keywords'];
$catagiri=$_POST['catagiri'];