PHP将$_FILES和$_POST作为参数传递给函数
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PHP将$_FILES和$_POST作为参数传递给函数,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2245字,纯文字阅读大概需要4分钟。
内容图文
![PHP将$_FILES和$_POST作为参数传递给函数](/upload/InfoBanner/zyjiaocheng/799/8b75a7c150684a5a84c06786abb17efe.jpg)
我在网上搜索了使用ajax进行PHP图片上传的代码.我发现下面附有代码.问题是我改变了一些事情(小调整)以使其在我的服务器上运行.最初它只是一个处理从表单发布的数据的php页面(不是类或函数).我把它变成了课堂然后功能.我现在正在关注OOP.我认为在从过程到OOP的转换中执行操作的最佳方法是将$_FILES和$_POST传递给方法并在内部处理它们.我认为这不起作用.看一下这个例子,请告知如何继续前进.
function uploadImageChosen($_FILES, $_POST){
$path = "../uploads/images/";
$valid_formats = array("jpg", "png", "gif", "bmp");
$connectionInstance = new ConnectionClass();
$connectionInstance->connectToDatabase();
$imgName;
$imgURL;
$imgSize;
$imgDir = $_POST['directory'];
if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST")
{
$name = $_FILES['photoimg']['name'];
$imgSize = $_FILES['photoimg']['size'];
if(strlen($name))
{
list($txt, $ext) = explode(".", $name);
if(in_array($ext,$valid_formats))
{
if($size<(1024*1024))
{
$imgName = time().substr(str_replace(" ", "_", $txt), 5).".".$ext;
$tmp = $_FILES['photoimg']['tmp_name'];
if(move_uploaded_file($tmp, $path.$imgName))
{
$imgURL = $path.$imgName;
$connectionInstance->query("INSERT INTO imagesupload(id, title, url, size, directory) VALUES (null, '$imgName','$imgURL', '$imgSize', '$imgDir')");
//echo "<img src='uploads/".$imgName."' class='preview'>";
}
else{
echo "failed";
}
}else{
echo "Image file size max 1 MB";
}
}else{
echo "Invalid file format..";
}
}else{
echo "Please select image..!";
}
}//end of if
}//end of function
至于调用类函数的页面,这里是:
<?php
require_once("../classes/UploadImages.php");
$uploadInstance = new UploadImages();
$uploadInstance->uploadImageChosen($_FILES, $_POST);
//header("LOCATION:portfolio.php");
?>
非常感谢你 :)
解决方法:
$_POST和$_FILES是超全局数组,它们始终可用,并且在函数或方法中重新定义它们是一个坏主意.
你可以这样做:
$uploadInstance->uploadImageChosen();
..
function uploadImageChosen(){
$path = "../uploads/images/";
$valid_formats = array("jpg", "png", "gif", "bmp");
...
$name = $_FILES['photoimg']['name'];
...
或者如果您需要本地范围内的副本,请执行以下操作:
$uploadInstance->uploadImageChosen($_FILES, $_POST);
..
function uploadImageChosen($files, $post){
$path = "../uploads/images/";
$valid_formats = array("jpg", "png", "gif", "bmp");
...
$name = $files['photoimg']['name'];
...
内容总结
以上是互联网集市为您收集整理的PHP将$_FILES和$_POST作为参数传递给函数全部内容,希望文章能够帮你解决PHP将$_FILES和$_POST作为参数传递给函数所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。