PHP获取POST数据的几种方法:
方法1、最常见的方法是:$_POST['fieldname'];
说明:只能接收Content-Type:
application/x->$>
PHP 中,上传中文文件基本上都会出错,所以只要在移动文件时,将文件重命名就可以了。
(如果需要原文件名,只需要将原文件名和重命名后的文件名保存在数据库中就可以了)
代码如下(您的代码有一些漏洞与不规范之处,这里已更正):
// 检测文件MIME类型,如果不是则阻止本次上传// 不要相信$_FILES['file']['type'],这是可以伪造的
// 如果 PHP >= 530,则使用finfo函数来获取文件类型
// 因为 PHP >= 530 放弃了 mime_content_type() 函数
if (version_compare(PHP_VERSION, '530', '>=')) {
$f = finfo(FILEINFO_MIME_TYPE);
$ftype = explode('/', finfo_file($f, $_FILES['file']['tmp_name']));
finfo_close($f);
$f = NULL;
if ($ftype[0] !== 'image') {
@unlink($_FILES['file']['tmp_file']);
die('文件上传失败!<br />请重新上传。<br /><a href="pfabuhtml">返回</a>');
}
$ftype = NULL;
}
else {
$ftype = explode('/', mime_content_type($_FILES['file']));
if ($ftype[0] !== 'image') {
@unlink($_FILES['file']['tmp_file']);
die('文件上传失败!<br />请重新上传。<br /><a href="pfabuhtml">返回</a>');
}
$ftype = NULL;
}
$link = mysql_connect('localhost','root','123456');
mysql_query('set names \'UTF8\'');
mysql_select_db('zhenyu', $link);
// 为了防止SQL注入,对数据进行转义
$pkind = addslashes($_POST['pkind']);
$pname = addslashes($_POST['pname']);
$pshow = addslashes($_POST['pshow']);
$filename_upload = $_FILES['file']['name'];
// Base64 编码后的字符只含有 a-z A-Z 0-9 以及+,/,=
$filename = base64_encode($filename_upload);
// Base64 编码中有一些非文件名可用的字符,把它们替换掉
$filename = strtr($filename, array(
'+' => '',
'/' => '_',
'=' => '-'
)
);
// 上传后的文件保存在product文件夹
$file_move = 'product/' $filename;
// 如果文件已存在,则在文件名后加上-和一个随机数
// 当然,这一部分也可以您自己更改,不会影响结果
if(file_exists($file_move)) {
$rand = '-' strval(rand(0, 9999));
$file_move = $rand;
$filename_upload = $rand;
// 因为 $rand 被其它变量引用,不能直接注销
// 所以将其赋值为 NULL,也可达到同样的释放内存的效果
$rand = NULL;
}
// 判断文件是否是通过 >}
这样就可以了。
由于没有测试,代码难免会出现一些错误,请随意指出,谢谢!
另外,您还应该考虑到不同用户上传同一个文件名的文件的情况,最好是为每个用户单独分配一个文件夹。
而且,当一个文件夹下的文件过多(>300)时,会导致读写速度变慢,这一点要注意。
解决:
当一个用户的文件夹下文件有300个时,用户再上传文件,就将新的文件保存在另一个文件夹中(如:用户名加上这个用户已有的文件夹数量)。
如果还有后续问题,可以联系我的邮箱:
blutrex@gmailcom谢谢!
的方向属性这个属性并不存在,所以用php也是无法获取的。也就是说,这个的方向属性它只是人的主观的一个认识他,并不是一个固定的一个参数,一个属性。不管是用php还是其他的程序都是没有办法得到这个属性。
以上就是关于php如何获得http post的数据全部的内容,包括:php如何获得http post的数据、php 图片上传有个小BUG,求大神解答。以下是我的一些代码、php获取图片方向属性等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)