Php 生成一个文件名字符串,作为全局变量的替代?
我正在创建一个功能,用户可以上传多个图像并上传到服务器。在这个问题上使用全局变量是可行的,但我听说全局变量很糟糕,尤其是在OOP中。所以,我想知道一个好的选择是什么?(我是一名初级PHP程序员,欢迎提供详细信息) 代码:Php 生成一个文件名字符串,作为全局变量的替代?,php,Php,我正在创建一个功能,用户可以上传多个图像并上传到服务器。在这个问题上使用全局变量是可行的,但我听说全局变量很糟糕,尤其是在OOP中。所以,我想知道一个好的选择是什么?(我是一名初级PHP程序员,欢迎提供详细信息) 代码: 函数addImgToNieuws($images){ 如果(设置($images)&&$images!=“”){ $countFiles=count($images[“name”]); 对于($i=0;$idb->real\u escape\u字符串($db\u file\u
函数addImgToNieuws($images){
如果(设置($images)&&$images!=“”){
$countFiles=count($images[“name”]);
对于($i=0;$i<$countFiles;$i++){
$fileName=$images[“name”][$i];
$fileType=$images[“type”][$i];
$fileSize=$images[“size”][$i];
$fileError=$images[“error”][$i];
$fileTmp=$images[“tmp_name”][$i];
$kaboom=explode(“.”,$fileName);
$fileExt=end($kaboom);
$db_file_name=rand(100000,999999)。“..$fileExt;
$output=$this->db->real\u escape\u字符串($db\u file\u name);
全局$字符串;
$string.=“,$output”;
$string=substr($string,1);
}
echo$字符串;
}
}
使用返回$string代替echo代码>不需要全局设置。此外,文件名数组可能是eiser的工作对象-取决于您计划如何使用$STRING如果我尝试这样做,它会告诉我字符串未定义或字符串没有值。请查看下面的代码答案,这是因为第一次使用$string
时,由于$string
未定义,因此会附加=/code>,因此会出现该错误。在函数顶部定义$string=”“
。此外,此函数的返回值应该是数组,而不是字符串,因为您的输入也是数组。
function addImgToNieuws($images){
if (isset($images) && $images != "") {
$countFiles = count($images["name"]);
for ($i = 0; $i < $countFiles; $i++) {
$fileName = $images["name"][$i];
$fileType = $images["type"][$i];
$fileSize = $images["size"][$i];
$fileError = $images["error"][$i];
$fileTmp = $images["tmp_name"][$i];
$kaboom = explode(".", $fileName);
$fileExt = end($kaboom);
$db_file_name = rand(100000, 999999) . "." . $fileExt;
$output = $this->db->real_escape_string($db_file_name);
global $string;
$string .= ",$output";
$string = substr($string, 1);
}
echo $string;
}
}
function addImgToNieuws($images){
if (isset($images) && $images != "") {
throw new Exception("bad input bro");
}
$countFiles = count($images["name"]);
$db_names = array();
for ($i = 0; $i < $countFiles; $i++) {
$fileName = $images["name"][$i];
$fileType = $images["type"][$i];
$fileSize = $images["size"][$i];
$fileError = $images["error"][$i];
$fileTmp = $images["tmp_name"][$i];
$kaboom = explode(".", $fileName);
$fileExt = end($kaboom);
$db_file_name = rand(100000, 999999) . "." . $fileExt;
$db_names[] = $this->db->real_escape_string($db_file_name)
}
return $db_names;
}
echo join(",", $obj->addImgToNieuws($images));