PHP设计超级好用的文件上传处置类一 (37)
PHP设计超级好用的文件上传处理类一 (37)
<span style="color: #000000;">php </span><span style="color: #0000ff;">class</span><span style="color: #000000;"> FileUpload { </span><span style="color: #0000ff;">private</span> $filepath; <span style="color: #008000;">//</span><span style="color: #008000;">指定上传文件保存的路径</span> <span style="color: #0000ff;">private</span> $allowtype=array(<span style="color: #800000;">'</span><span style="color: #800000;">gif</span><span style="color: #800000;">'</span>, <span style="color: #800000;">'</span><span style="color: #800000;">jpg</span><span style="color: #800000;">'</span>, <span style="color: #800000;">'</span><span style="color: #800000;">png</span><span style="color: #800000;">'</span>, <span style="color: #800000;">'</span><span style="color: #800000;">jpeg</span><span style="color: #800000;">'</span>); <span style="color: #008000;">//</span><span style="color: #008000;">充许上传文件的类型</span> <span style="color: #0000ff;">private</span> $maxsize=<span style="color: #800080;">1000000</span>; <span style="color: #008000;">//</span><span style="color: #008000;">允上传文件的最大长度 1M</span> <span style="color: #0000ff;">private</span> $israndname=<span style="color: #0000ff;">true</span>; <span style="color: #008000;">//</span><span style="color: #008000;">是否随机重命名, true false不随机,使用原文件名</span> <span style="color: #0000ff;">private</span> $originName; <span style="color: #008000;">//</span><span style="color: #008000;">源文件名称</span> <span style="color: #0000ff;">private</span> $tmpFileName; <span style="color: #008000;">//</span><span style="color: #008000;">临时文件名</span> <span style="color: #0000ff;">private</span> $fileType; <span style="color: #008000;">//</span><span style="color: #008000;">文件类型</span> <span style="color: #0000ff;">private</span> $fileSize; <span style="color: #008000;">//</span><span style="color: #008000;">文件大小</span> <span style="color: #0000ff;">private</span> $newFileName; <span style="color: #008000;">//</span><span style="color: #008000;">新文件名</span> <span style="color: #0000ff;">private</span> $errorNum=<span style="color: #800080;">0</span>; <span style="color: #008000;">//</span><span style="color: #008000;">错误号</span> <span style="color: #0000ff;">private</span> $errorMess=<span style="color: #800000;">""</span>; <span style="color: #008000;">//</span><span style="color: #008000;">用来提供错误报告 </span><span style="color: #008000;">//</span><span style="color: #008000;">用于对上传文件初使化 </span><span style="color: #008000;">//</span><span style="color: #008000;">1. 指定上传路径, 2,充许的类型, 3,限制大小, 4,是否使用随机文件名称 </span><span style="color: #008000;">//</span><span style="color: #008000;">让用户可以不用按位置传参数,后面参数给值不用将前几个参数也提供值</span> function __construct($options=<span style="color: #000000;">array()){ </span><span style="color: #0000ff;">foreach</span>($options <span style="color: #0000ff;">as</span> $key=><span style="color: #000000;">$val){ $key</span>=<span style="color: #000000;">strtolower($key); </span><span style="color: #008000;">//</span><span style="color: #008000;">查看用户参数中数组的下标是否和成员属性名相同</span> <span style="color: #0000ff;">if</span>(!in_array($key,get_class_vars(get_class($<span style="color: #0000ff;">this</span><span style="color: #000000;">)))){ </span><span style="color: #0000ff;">continue</span><span style="color: #000000;">; } $</span><span style="color: #0000ff;">this</span>-><span style="color: #000000;">setOption($key, $val); } } </span><span style="color: #0000ff;">private</span><span style="color: #000000;"> function getError(){ $str</span>=<span style="color: #800000;">"</span><span style="color: #800000;">上传文件<font color="red">{$this->originName}</font>时出错:</span><span style="color: #800000;">"</span><span style="color: #000000;">; </span><span style="color: #0000ff;">switch</span>($<span style="color: #0000ff;">this</span>-><span style="color: #000000;">errorNum){ </span><span style="color: #0000ff;">case</span> <span style="color: #800080;">4</span>: $str .= <span style="color: #800000;">"</span><span style="color: #800000;">没有文件被上传</span><span style="color: #800000;">"</span>; <span style="color: #0000ff;">break</span><span style="color: #000000;">; </span><span style="color: #0000ff;">case</span> <span style="color: #800080;">3</span>: $str .= <span style="color: #800000;">"</span><span style="color: #800000;">文件只被部分上传</span><span style="color: #800000;">"</span>; <span style="color: #0000ff;">break</span><span style="color: #000000;">; </span><span style="color: #0000ff;">case</span> <span style="color: #800080;">2</span>: $str .= <span style="color: #800000;">"</span><span style="color: #800000;">上传文件超过了HTML表单中MAX_FILE_SIZE选项指定的值</span><span style="color: #800000;">"</span>; <span style="color: #0000ff;">break</span><span style="color: #000000;">; </span><span style="color: #0000ff;">case</span> <span style="color: #800080;">1</span>: $str .= <span style="color: #800000;">"</span><span style="color: #800000;">上传文件超过了php.ini 中upload_max_filesize选项的值</span><span style="color: #800000;">"</span>; <span style="color: #0000ff;">break</span><span style="color: #000000;">; </span><span style="color: #0000ff;">case</span> -<span style="color: #800080;">1</span>: $str .= <span style="color: #800000;">"</span><span style="color: #800000;">末充许的类型</span><span style="color: #800000;">"</span>; <span style="color: #0000ff;">break</span><span style="color: #000000;">; </span><span style="color: #0000ff;">case</span> -<span style="color: #800080;">2</span>: $str .= <span style="color: #800000;">"</span><span style="color: #800000;">文件过大,上传文件不能超过{$this->maxSize}个字节</span><span style="color: #800000;">"</span>; <span style="color: #0000ff;">break</span><span style="color: #000000;">; </span><span style="color: #0000ff;">case</span> -<span style="color: #800080;">3</span>: $str .= <span style="color: #800000;">"</span><span style="color: #800000;">上传失败</span><span style="color: #800000;">"</span>; <span style="color: #0000ff;">break</span><span style="color: #000000;">; </span><span style="color: #0000ff;">case</span> -<span style="color: #800080;">4</span>: $str .= <span style="color: #800000;">"</span><span style="color: #800000;">建立存放上传文件目录失败,请重新指定上传目录</span><span style="color: #800000;">"</span>; <span style="color: #0000ff;">break</span><span style="color: #000000;">; </span><span style="color: #0000ff;">case</span> -<span style="color: #800080;">5</span>: $str .= <span style="color: #800000;">"</span><span style="color: #800000;">必须指定上传文件的路径</span><span style="color: #800000;">"</span>; <span style="color: #0000ff;">break</span><span style="color: #000000;">; </span><span style="color: #0000ff;">default</span>: $str .= <span style="color: #800000;">"</span><span style="color: #800000;">末知错误</span><span style="color: #800000;">"</span><span style="color: #000000;">; } </span><span style="color: #0000ff;">return</span> $str.<span style="color: #800000;">'</span><span style="color: #800000;"><br></span><span style="color: #800000;">'</span><span style="color: #000000;">; } </span><span style="color: #008000;">//</span><span style="color: #008000;">用来检查文件上传路径</span> <span style="color: #0000ff;">private</span><span style="color: #000000;"> function checkFilePath(){ </span><span style="color: #0000ff;">if</span>(empty($<span style="color: #0000ff;">this</span>-><span style="color: #000000;">filepath)) { $</span><span style="color: #0000ff;">this</span>->setOption(<span style="color: #800000;">'</span><span style="color: #800000;">errorNum</span><span style="color: #800000;">'</span>, -<span style="color: #800080;">5</span><span style="color: #000000;">); </span><span style="color: #0000ff;">return</span> <span style="color: #0000ff;">false</span><span style="color: #000000;">; } </span><span style="color: #0000ff;">if</span>(!file_exists($<span style="color: #0000ff;">this</span>->filepath) || !is_writable($<span style="color: #0000ff;">this</span>-><span style="color: #000000;">filepath)){ </span><span style="color: #0000ff;">if</span>([email protected]($<span style="color: #0000ff;">this</span>->filepath, <span style="color: #800080;">0755</span><span style="color: #000000;">)){ $</span><span style="color: #0000ff;">this</span>->setOption(<span style="color: #800000;">'</span><span style="color: #800000;">errorNum</span><span style="color: #800000;">'</span>, -<span style="color: #800080;">4</span><span style="color: #000000;">); </span><span style="color: #0000ff;">return</span> <span style="color: #0000ff;">false</span><span style="color: #000000;">; } } </span><span style="color: #0000ff;">return</span> <span style="color: #0000ff;">true</span><span style="color: #000000;">; } </span><span style="color: #008000;">//</span><span style="color: #008000;">用来检查文件上传的大小</span> <span style="color: #0000ff;">private</span><span style="color: #000000;"> function checkFileSize() { </span><span style="color: #0000ff;">if</span>($<span style="color: #0000ff;">this</span>->fileSize > $<span style="color: #0000ff;">this</span>-><span style="color: #000000;">maxsize){ $</span><span style="color: #0000ff;">this</span>->setOPtion(<span style="color: #800000;">'</span><span style="color: #800000;">errorNum</span><span style="color: #800000;">'</span>, <span style="color: #800000;">'</span><span style="color: #800000;">-2</span><span style="color: #800000;">'</span><span style="color: #000000;">); </span><span style="color: #0000ff;">return</span> <span style="color: #0000ff;">false</span><span style="color: #000000;">; }</span><span style="color: #0000ff;">else</span><span style="color: #000000;">{ </span><span style="color: #0000ff;">return</span> <span style="color: #0000ff;">true</span><span style="color: #000000;">; } } </span><span style="color: #008000;">//</span><span style="color: #008000;">用于检查文件上传类型</span> <span style="color: #0000ff;">private</span><span style="color: #000000;"> function checkFileType() { </span><span style="color: #0000ff;">if</span>(in_array(strtolower($<span style="color: #0000ff;">this</span>->fileType), $<span style="color: #0000ff;">this</span>-><span style="color: #000000;">allowtype)) { </span><span style="color: #0000ff;">return</span> <span style="color: #0000ff;">true</span><span style="color: #000000;">; }</span><span style="color: #0000ff;">else</span><span style="color: #000000;">{ $</span><span style="color: #0000ff;">this</span>->setOption(<span style="color: #800000;">'</span><span style="color: #800000;">errorNum</span><span style="color: #800000;">'</span>, -<span style="color: #800080;">1</span><span style="color: #000000;">); </span><span style="color: #0000ff;">return</span> <span style="color: #0000ff;">false</span><span style="color: #000000;">; } } </span><span style="color: #008000;">//</span><span style="color: #008000;">设置上传后的文件名称</span> <span style="color: #0000ff;">private</span><span style="color: #000000;"> function setNewFileName(){ </span><span style="color: #0000ff;">if</span>($<span style="color: #0000ff;">this</span>-><span style="color: #000000;">israndname){ $</span><span style="color: #0000ff;">this</span>->setOption(<span style="color: #800000;">'</span><span style="color: #800000;">newFileName</span><span style="color: #800000;">'</span>, $<span style="color: #0000ff;">this</span>-><span style="color: #000000;">proRandName()); } </span><span style="color: #0000ff;">else</span><span style="color: #000000;"> { $</span><span style="color: #0000ff;">this</span>->setOption(<span style="color: #800000;">'</span><span style="color: #800000;">newFileName</span><span style="color: #800000;">'</span>, $<span style="color: #0000ff;">this</span>-><span style="color: #000000;">originName); } } </span><span style="color: #008000;">//</span><span style="color: #008000;">设置随机文件名称</span> <span style="color: #0000ff;">private</span><span style="color: #000000;"> function proRandName(){ $fileName</span>=date(<span style="color: #800000;">"</span><span style="color: #800000;">YmdHis</span><span style="color: #800000;">"</span>).rand(<span style="color: #800080;">100</span>,<span style="color: #800080;">999</span><span style="color: #000000;">); </span><span style="color: #0000ff;">return</span> $fileName.<span style="color: #800000;">'</span><span style="color: #800000;">.</span><span style="color: #800000;">'</span>.$<span style="color: #0000ff;">this</span>-><span style="color: #000000;">fileType; } </span><span style="color: #0000ff;">private</span><span style="color: #000000;"> function setOption($key, $val){ $</span><span style="color: #0000ff;">this</span>->$key=<span style="color: #000000;">$val; } </span><span style="color: #008000;">//</span><span style="color: #008000;">用来上传一个文件</span><span style="color: #000000;"> function uploadFile($fileField){ $</span><span style="color: #0000ff;">return</span>=<span style="color: #0000ff;">true</span><span style="color: #000000;">; </span><span style="color: #008000;">//</span><span style="color: #008000;">检查文件上传路径</span> <span style="color: #0000ff;">if</span>(!$<span style="color: #0000ff;">this</span>-><span style="color: #000000;">checkFilePath()){ $</span><span style="color: #0000ff;">this</span>->errorMess=$<span style="color: #0000ff;">this</span>-><span style="color: #000000;">getError(); </span><span style="color: #0000ff;">return</span> <span style="color: #0000ff;">false</span><span style="color: #000000;">; } $name</span>=$_FILES[$fileField][<span style="color: #800000;">'</span><span style="color: #800000;">name</span><span style="color: #800000;">'</span><span style="color: #000000;">]; $tmp_name</span>=$_FILES[$fileField][<span style="color: #800000;">'</span><span style="color: #800000;">tmp_name</span><span style="color: #800000;">'</span><span style="color: #000000;">]; $size</span>=$_FILES[$fileField][<span style="color: #800000;">'</span><span style="color: #800000;">size</span><span style="color: #800000;">'</span><span style="color: #000000;">]; $error</span>=$_FILES[$fileField][<span style="color: #800000;">'</span><span style="color: #800000;">error</span><span style="color: #800000;">'</span><span style="color: #000000;">]; </span><span style="color: #0000ff;">if</span><span style="color: #000000;">(is_Array($name)){ $errors</span>=<span style="color: #000000;">array(); </span><span style="color: #0000ff;">for</span>($i=<span style="color: #800080;">0</span>; $i<count style="color: #000000;">){ <span style="color: #0000ff;">if</span>($<span style="color: #0000ff;">this</span>-><span style="color: #000000;">setFiles($name[$i], $tmp_name[$i], $size[$i], $error[$i])){ </span><span style="color: #0000ff;">if</span>(!$<span style="color: #0000ff;">this</span>->checkFileSize() || !$<span style="color: #0000ff;">this</span>-><span style="color: #000000;">checkFileType()){ $errors[]</span>=$<span style="color: #0000ff;">this</span>-><span style="color: #000000;">getError(); $</span><span style="color: #0000ff;">return</span>=<span style="color: #0000ff;">false</span><span style="color: #000000;">; } }</span><span style="color: #0000ff;">else</span><span style="color: #000000;">{ $error[]</span>=$<span style="color: #0000ff;">this</span>-><span style="color: #000000;">getError(); $</span><span style="color: #0000ff;">return</span>=<span style="color: #0000ff;">false</span><span style="color: #000000;">; } </span><span style="color: #0000ff;">if</span>(!$<span style="color: #0000ff;">return</span><span style="color: #000000;">) $</span><span style="color: #0000ff;">this</span>-><span style="color: #000000;">setFiles(); } </span><span style="color: #0000ff;">if</span>($<span style="color: #0000ff;">return</span><span style="color: #000000;">){ $fileNames</span>=<span style="color: #000000;">array(); </span><span style="color: #0000ff;">for</span>($i=<span style="color: #800080;">0</span>; $i<count style="color: #000000;">){ <span style="color: #0000ff;">if</span>($<span style="color: #0000ff;">this</span>-><span style="color: #000000;">setFiles($name[$i], $tmp_name[$i], $size[$i], $error[$i])){ $</span><span style="color: #0000ff;">this</span>-><span style="color: #000000;">setNewFileName(); </span><span style="color: #0000ff;">if</span>(!$<span style="color: #0000ff;">this</span>-><span style="color: #000000;">copyFile()){ $errors</span>=$<span style="color: #0000ff;">this</span>-><span style="color: #000000;">getError(); $</span><span style="color: #0000ff;">return</span>=<span style="color: #0000ff;">false</span><span style="color: #000000;">; }</span><span style="color: #0000ff;">else</span><span style="color: #000000;">{ $fileNames[]</span>=$<span style="color: #0000ff;">this</span>-><span style="color: #000000;">newFileName; } } } $</span><span style="color: #0000ff;">this</span>->newFileName=<span style="color: #000000;">$fileNames; } $</span><span style="color: #0000ff;">this</span>->errorMess=<span style="color: #000000;">$errors; </span><span style="color: #0000ff;">return</span> $<span style="color: #0000ff;">return</span><span style="color: #000000;">; } </span><span style="color: #0000ff;">else</span><span style="color: #000000;"> { </span><span style="color: #0000ff;">if</span>($<span style="color: #0000ff;">this</span>-><span style="color: #000000;">setFiles($name, $tmp_name, $size, $error)){ </span><span style="color: #0000ff;">if</span>($<span style="color: #0000ff;">this</span>->checkFileSize() && $<span style="color: #0000ff;">this</span>-><span style="color: #000000;">checkFileType()){ $</span><span style="color: #0000ff;">this</span>-><span style="color: #000000;">setNewFileName(); </span><span style="color: #0000ff;">if</span>($<span style="color: #0000ff;">this</span>-><span style="color: #000000;">copyFile()){ </span><span style="color: #0000ff;">return</span> <span style="color: #0000ff;">true</span><span style="color: #000000;">; }</span><span style="color: #0000ff;">else</span><span style="color: #000000;">{ $</span><span style="color: #0000ff;">return</span>=<span style="color: #0000ff;">false</span><span style="color: #000000;">; } }</span><span style="color: #0000ff;">else</span><span style="color: #000000;">{ $</span><span style="color: #0000ff;">return</span>=<span style="color: #0000ff;">false</span><span style="color: #000000;">; } }</span><span style="color: #0000ff;">else</span><span style="color: #000000;">{ $</span><span style="color: #0000ff;">return</span>=<span style="color: #0000ff;">false</span><span style="color: #000000;">; } </span><span style="color: #0000ff;">if</span>(!$<span style="color: #0000ff;">return</span><span style="color: #000000;">) $</span><span style="color: #0000ff;">this</span>->errorMess=$<span style="color: #0000ff;">this</span>-><span style="color: #000000;">getError(); </span><span style="color: #0000ff;">return</span> $<span style="color: #0000ff;">return</span><span style="color: #000000;">; } } </span><span style="color: #0000ff;">private</span><span style="color: #000000;"> function copyFile(){ </span><span style="color: #0000ff;">if</span>(!$<span style="color: #0000ff;">this</span>-><span style="color: #000000;">errorNum){ $filepath</span>=rtrim($<span style="color: #0000ff;">this</span>->filepath, <span style="color: #800000;">'</span><span style="color: #800000;">/</span><span style="color: #800000;">'</span>).<span style="color: #800000;">'</span><span style="color: #800000;">/</span><span style="color: #800000;">'</span><span style="color: #000000;">; $filepath.</span>=$<span style="color: #0000ff;">this</span>-><span style="color: #000000;">newFileName; </span><span style="color: #0000ff;">if</span>(@move_uploaded_file($<span style="color: #0000ff;">this</span>-><span style="color: #000000;">tmpFileName, $filepath)) { </span><span style="color: #0000ff;">return</span> <span style="color: #0000ff;">true</span><span style="color: #000000;">; }</span><span style="color: #0000ff;">else</span><span style="color: #000000;">{ $</span><span style="color: #0000ff;">this</span>->setOption(<span style="color: #800000;">'</span><span style="color: #800000;">errorNum</span><span style="color: #800000;">'</span>, -<span style="color: #800080;">3</span><span style="color: #000000;">); </span><span style="color: #0000ff;">return</span> <span style="color: #0000ff;">false</span><span style="color: #000000;">; } }</span><span style="color: #0000ff;">else</span><span style="color: #000000;">{ </span><span style="color: #0000ff;">return</span> <span style="color: #0000ff;">false</span><span style="color: #000000;">; } } </span><span style="color: #008000;">//</span><span style="color: #008000;">设置和$_FILES有关的内容</span> <span style="color: #0000ff;">private</span> function setFiles($name=<span style="color: #800000;">""</span>, $tmp_name=<span style="color: #800000;">''</span>, $size=<span style="color: #800080;">0</span>, $error=<span style="color: #800080;">0</span><span style="color: #000000;">){ $</span><span style="color: #0000ff;">this</span>->setOption(<span style="color: #800000;">'</span><span style="color: #800000;">errorNum</span><span style="color: #800000;">'</span><span style="color: #000000;">, $error); </span><span style="color: #0000ff;">if</span><span style="color: #000000;">($error){ </span><span style="color: #0000ff;">return</span> <span style="color: #0000ff;">false</span><span style="color: #000000;">; } $</span><span style="color: #0000ff;">this</span>->setOption(<span style="color: #800000;">'</span><span style="color: #800000;">originName</span><span style="color: #800000;">'</span><span style="color: #000000;">, $name); $</span><span style="color: #0000ff;">this</span>->setOption(<span style="color: #800000;">'</span><span style="color: #800000;">tmpFileName</span><span style="color: #800000;">'</span><span style="color: #000000;">, $tmp_name); $arrStr</span>=explode(<span style="color: #800000;">'</span><span style="color: #800000;">.</span><span style="color: #800000;">'</span><span style="color: #000000;">, $name); $</span><span style="color: #0000ff;">this</span>->setOption(<span style="color: #800000;">'</span><span style="color: #800000;">fileType</span><span style="color: #800000;">'</span>, strtolower($arrStr[count($arrStr)-<span style="color: #800080;">1</span><span style="color: #000000;">])); $</span><span style="color: #0000ff;">this</span>->setOption(<span style="color: #800000;">'</span><span style="color: #800000;">fileSize</span><span style="color: #800000;">'</span><span style="color: #000000;">, $size); </span><span style="color: #0000ff;">return</span> <span style="color: #0000ff;">true</span><span style="color: #000000;">; } </span><span style="color: #008000;">//</span><span style="color: #008000;">用于获取上传后文件的文件名</span><span style="color: #000000;"> function getNewFileName(){ </span><span style="color: #0000ff;">return</span> $<span style="color: #0000ff;">this</span>-><span style="color: #000000;">newFileName; } </span><span style="color: #008000;">//</span><span style="color: #008000;">上传如果失败,则调用这个方法,就可以查看错误报告</span><span style="color: #000000;"> function getErrorMsg() { </span><span style="color: #0000ff;">return</span> $<span style="color: #0000ff;">this</span>-><span style="color: #000000;">errorMess; } }</span></count></count>

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

許多用戶在選擇智慧型手錶的時候都會選擇的華為的品牌,其中華為GT3pro和GT4都是非常熱門的選擇,不少用戶都很好奇華為GT3pro和GT4有什麼區別,下面就給大家介紹一下二者。華為GT3pro和GT4有什麼差別一、外觀GT4:46mm和41mm,材質是玻璃鏡板+不鏽鋼機身+高分纖維後殼。 GT3pro:46.6mm和42.9mm,材質是藍寶石玻璃鏡+鈦金屬機身/陶瓷機身+陶瓷後殼二、健康GT4:採用最新的華為Truseen5.5+演算法,結果會更加的精準。 GT3pro:多了ECG心電圖和血管及安

C語言return的用法有:1、對於傳回值類型為void的函數,可以使用return語句來提前結束函數的執行;2、對於傳回值型別不為void的函數,return語句的作用是將函數的執行結果傳回給呼叫者;3、提前結束函數的執行,在函數內部,我們可以使用return語句來提前結束函數的執行,即使函數並沒有回傳值。

為什麼截圖工具在Windows11上不起作用了解問題的根本原因有助於找到正確的解決方案。以下是截圖工具可能無法正常工作的主要原因:對焦助手已開啟:這可以防止截圖工具開啟。應用程式損壞:如果截圖工具在啟動時崩潰,則可能已損壞。過時的圖形驅動程式:不相容的驅動程式可能會幹擾截圖工具。來自其他應用程式的干擾:其他正在運行的應用程式可能與截圖工具衝突。憑證已過期:升級過程中的錯誤可能會導致此issu簡單的解決方案這些適合大多數用戶,不需要任何特殊的技術知識。 1.更新視窗與Microsoft應用程式商店應用程

原始碼:publicclassReturnFinallyDemo{publicstaticvoidmain(String[]args){System.out.println(case1());}publicstaticintcase1(){intx;try{x=1;returnx;}finally{x=3;}}#輸出上述程式碼的輸出可以簡單地得出結論:return在finally之前執行,我們來看下字節碼層面上發生了什麼事情。下面截取case1方法的部分字節碼,並且對照源碼,將每個指令的含義註釋在

在java中,private的意思為“私有的”,是一種存取控制修飾符,用於修飾類別、屬性和方法。用private修飾的類別成員,只能被該類別本身的方法存取和修改,而不能被任何其他類別(包括該類別的子類別)存取和引用;因此,private修飾符具有最高的保護等級。

第1部分:初始故障排除步驟檢查蘋果的系統狀態:在深入研究複雜的解決方案之前,讓我們先從基礎知識開始。問題可能不在於您的設備;蘋果的伺服器可能會關閉。造訪Apple的系統狀態頁面,查看AppStore是否正常運作。如果有問題,您所能做的就是等待Apple修復它。檢查您的網路連接:確保您擁有穩定的網路連接,因為「無法連接到AppStore」問題有時可歸因於連接不良。嘗試在Wi-Fi和行動數據之間切換或重置網路設定(「常規」>「重置」>「重置網路設定」>設定)。更新您的iOS版本:

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

Vue3.2setup語法糖是在單文件組件(SFC)中使用組合式API的編譯時語法糖解決Vue3.0中setup需要繁瑣將聲明的變量、函數以及import引入的內容通過return向外暴露,才能在使用的問題1.在使用中無需return宣告的變數、函數以及import引入的內容,即可在使用語法糖//import引入的內容import{getToday}from'./utils'//變數constmsg='Hello !'//函數func
