目次
回复讨论(解决方案)
ホームページ バックエンド開発 PHPチュートリアル 気の毒だと思う!神様に質問してみます。渡されたget値を取得できません

気の毒だと思う!神様に質問してみます。渡されたget値を取得できません

Jun 23, 2016 pm 02:16 PM

この投稿の最終編集者は Eason_____________ 、2013-07-25 16:41:04

データベース

// 現在の問題は、ファイルがアップロードされていない場合、テキストのみがアップロードされることです。 $_GETの値を取得できます。ファイルがアップロードされている場合は取得できません。具体的なコードについては以下を参照してください。値を渡すjsonです。

//html

rree


//index.php

<!DOCTYPE html><html class="um landscape min-width-240px min-width-320px min-width-480px min-width-768px min-width-1024px">  <head>    <title>    </title>    <meta charset="utf-8">    <meta name="viewport" content="target-densitydpi=device-dpi, width=device-width, initial-scale=1, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">    <link rel="stylesheet" href="css/ui-input.css">    <link rel="stylesheet" href="css/ui-btn.css">    <link rel="stylesheet" href="css/ui-img.css">    <link rel="stylesheet" href="css/ui-list.css">    <link rel="stylesheet" href="css/ui-res.css">    <link rel="stylesheet" href="css/ui-fold.css">    <link rel="stylesheet" href="css/ui-base.css">    <link rel="stylesheet" href="css/ui-box.css">    <link rel="stylesheet" href="css/ui-color.css">    <script src="js/zy_anim.js"></script>    <script src="js/zy_control.js"></script> 	<script src="js/zy_tmpl.js"></script>	<script src="js/zy_click.js"></script>	<script src="js/zy_json.js"></script>    </head>  <body class="um-vp" ontouchstart><div class="btm" id="yinying" style="display:none"></div><div class="c-wh" id="fb_content">    	     <!--文本开始-->    <div class="ub t-bla ulab">      <div class="ub-f1 c-wh uba uc-a1 b-gra us-i uinput uinn4" style="margin-top:5%">      <input placeholder="标题..."  type="text" name="title" class="uc-a1" id="fb-title">       </div>    </div>    <!--文本结束-->    <!--文本开始-->    <div class="ub t-bla ulab fb-btn">      <div class="ub-f1 c-wh uba uc-a1 b-gra us-i uinput uinn4">      <textarea  placeholder="请输入内容"  name="content" rows="7" id="fb-content" ></textarea>    </div>    </div>    <!--文本结束-->    <div style=" display:none; width:20%; height:15%; margin-top:5%; left:1%" id="show_img">    	<span class="del" onClick="del()">x</span>        <img style="width:100%; height:100%;display:block; border:1px solid #CCC;" src="" id="showPic" />            </div>	<!--按钮开始-->    <div ontouchstart="zy_touch('btn-act')" class="btn uba b-bla uinn5 c-blu1 c-m2 uc-a1 t-wh img-add"  onclick="picSeclet();" id="selectPic">添加图片</div>	<!--按钮结束-->    	<!--按钮开始-->    <div ontouchstart="zy_touch('btn-act')" class="btn uba b-bla uinn5 c-blu1 c-m2 uc-a1 t-wh img-add" onClick="upload()">发布</div>	<!--按钮结束-->    <div style="position:absolute; bottom:0; width:100%; z-index:100; display:none" id="divPic">             <div ontouchstart="zy_touch('c-m2');" data-role="button" onclick="uexImageBrowser.pick();" class="btn uba b-bla uinn5 c-bla c-m1 uc-a1 t-wh img-add1">                     <span class="ui-btn-inner ui-btn-corner-all">                     <span class="ui-btn-text t-wh">从手机相册选择</span>                     </span>            </div>             <div ontouchstart="zy_touch('c-m2');" data-role="button" onclick="uexCamera.open();" class="btn uba b-bla uinn5 c-bla c-m1 uc-a1 t-wh img-add1">                     <span class="ui-btn-inner ui-btn-corner-all">                     <span class="ui-btn-text t-wh">拍照</span>                     </span>            </div>            <div ontouchstart="zy_touch('c-m2');" data-role="button" onclick="picClose();" class="btn uba b-bla uinn5 c-bla c-m1 uc-a1 t-wh img-add1">                     <span class="ui-btn-inner ui-btn-corner-all">                     <span class="ui-btn-text t-wh">取消</span>                     </span>            </div>    </div></div></body><script>zy_init();window.uexOnload=function(type){	if(!type){		uexWindow.setBounce("1");		uexWindow.showBounceView("0","#FFF","0");		uexWindow.showBounceView("1","#FFF","0");	}}        var uploadHttp = "http://localhost/json/bbs/index.php";        function setLog(msg){                document.getElementById("msgid").innerHTML = msg;        }        function upload(){				if($$("fb-title").value!='' && $$("fb-content").value!='' && document.getElementById("showPic").src==""){					var fbtitle = $$("fb-title").value;					var fbcontent = $$("fb-content").value;					var url = 'http://localhost/json/bbs/index.php?title='+fbtitle+'&content='+fbcontent+"&imgshows=none";					$.getJSON(url,function(data){					});					return false;				}else if($$("fb-title").value!='' && $$("fb-content").value!='' && document.getElementById("showPic").src!=""){					uexUploaderMgr.createUploader(1,uploadHttp);				}else{					alert("标题或内容不能为空!");					}        }        function picSeclet(){                document.getElementById("yinying").style.display = "block";                document.getElementById("divPic").style.display = "block";        }        function picClose(){                document.getElementById("yinying").style.display = "none";                document.getElementById("divPic").style.display = "none";        }        function del(){                document.getElementById("show_img").style.display = "none";                document.getElementById("showPic").src = "";        }        var upload_image_url = "";        window.uexOnload = function(){                uexCamera.cbOpen = function(opCode, dataType, data){                        upload_image_url = data;                        document.getElementById("showPic").src = data;                        document.getElementById("show_img").style.display = "block";                        document.getElementById("divPic").style.display = "none";						document.getElementById("yinying").style.display = "none";                }				                uexWidgetOne.cbError = function(opCode, errorCode, errorInfo){                        setLog(errorInfo);                }                                uexImageBrowser.cbPick=function (opCode,dataType,data){		        if(dataType==0){									upload_image_url = data;	              				document.getElementById("showPic").src = data;									document.getElementById("show_img").style.display = "block";									document.getElementById("yinying").style.display = "none";									document.getElementById("divPic").style.display = "none";		        }	           }	                uexUploaderMgr.cbCreateUploader =function(opCode,dataType,data){                        if(data == 0){                                        uexUploaderMgr.uploadFile(1,upload_image_url,"filename",4);                                        uexWindow.toast(1,5,"图片上传中...",0);                        }else{                        }                                        }				                uexUploaderMgr.onStatus = function(opCode,fileSize,percent,serverPath,status){                        switch (status) {                                        case 0:                                                break;                                        case 1:                                                uexWindow.closeToast();//关闭提示消息框                                                uexWindow.toast(0,5,"发布成功!",2000);												var fbtitle = $$("fb-title").value;												var fbcontent = $$("fb-content").value;												var url = 'http://localhost/json/bbs/index.php?title='+fbtitle+'&content='+fbcontent;												$.getJSON(url,function(data){																			});                                                //uexWindow.closeToast();//关闭提示消息框                                                uexUploaderMgr.closeUploader(1);                                                break;                                        case 2:                                                uexWindow.closeToast();//关闭提示消息框                                                uexWindow.toast(0,5,"出错啦~",2000);                                                uexUploaderMgr.closeUploader(1);                                                break;                        }                                        }        }</script></html>
ログイン後にコピー



回复讨论(解决方案)


//uploadImage.php
/**
*
* 画像アップロードクラス
* @author ChenYue
*
* @param $mageStauts 画像アップロードステータス 1 は正常です
* @param $iamgePath データベースに正常に保存された画像アップロードのパス
* @param $imagePathTemp 一時的に画像を保存する 正常にアップロードしてデータベースに保存するためのパス
* @param $destination_folder アップロード ファイルのパス
* @param $imageName アップロードされた画像の名前 (カスタマイズ可能)
* @param $fileArray アップロードされた画像情報の配列
* @param $updateImage 元の画像を更新するかどうかを決定します 0 は更新なしを意味し、1 は更新を意味します
* @param $uptypes サポートされているアップロード画像のタイプ
* @param max_file_size サポートされているアップロード画像の最大タイプ
* @param imageType 画像のタイプ
*
*/
class uploadImage{

public $imageStauts = 1;
public $iamgePath=''; 
プライベート $imagePathTemp = "";
プライベート $destination_folder; 
プライベート $imageName; 
プライベート $fileArray;
プライベート $updateImage = 0; 
private $uptypes = array(
'image/jpg',
'image/jpeg',
'image/png',
'image/x-png');

private $imageType = array('jpg','jpeg','png');
const max_file_size=2000000;     


/**
* コンストラクター
* @param $file アップロードされた画像情報の配列
* @param $destination アップロードされたファイルのパス
* @param $name アップロードされた画像名(カスタマイズ可能)が定義されておらず、アップロードされた画像名は time( ) です
* @ param $dbPath 画像のアップロードがデータベースに正常に保存されたパス
* @param $update 元の画像を更新するかどうかを決定します。0 は更新なし、1 は更新を意味します。アップデートにより既存の画像が置き換えられます
*/
function __construct($file,$destination="",$name="",$dbPath="",$update=0){

if(is_array($file) ) && count($file)>0 &&!empty($destination)){
$this->fileArray = $file;
$this->destination_folder = $destination;
$this->imageName = $name;
$this->imagePathTemp = $dbPath;
$this->updateImage = $update;

}else{

$this->imageStauts = '初期化失败';

}

}


/**
* 画像のアップロードを開始します
*/
function imageStart(){
if($this->imageStauts === 1){
$this->imageCheck();

}
if($this->imageStauts === 1){
$this->doWork();
}
}
/**
*
* 画像検査作業
*/
function imageCheck(){
$file = $this->fileArray;
//print_r($file);
if(!is_uploaded_file($file['tmp_name']) && $this->imageStauts === 1){
$this->imageStauts = '图片は存在しません!';

}

if(uploadImage::max_file_size < $file['size'] && $this->gt;imageStauts === 1){
$this->gt;imageStauts = 'ファイルが大きすぎます' }
; MIME タイプを確認してください
if(!in_array(strto lower($file['type']), $this->uptypes) && $this->imageStauts === 1){
$this->imageStauts = ' サポートされていません '。 File [' Type '].' Type file ';
*/
// 画像メタッドデータのコメントフィールドに pHP コードが含まれないようにします
// pathinfo($this->fileArray['name']);
$fileType = strto lower($fileInfo['extension']);
if(!in_array($fileType, $this->imageType) && $this- >imageStats === 1){
$this-> imageSauts = '.$fileType タイプのファイルはサポートされていません'; ->imageStauts === 1){
mkdir($this->destination_folder,0777);//ファイルのアクセス許可を設定します
}
}
/**
*
* 画像のアップロードを開始します
*/
function doWork(){

$ fileName = $this->fileArray['tmp_name'];
$fileSize = getimagesize($fileName);
$fileInfo = pathinfo( $this->fileArray['name']);
$fileType = strto lower($ fileInfo['extension']);
$n = !empty($this->imageName) : time();
$destination = $this->destination_folder.$n.'.$fileType;//画像のローカル パス
$this->imagePathTemp = $this->gt;imagePathTemp.$n .'.'.$fileType;//データベースに保存するパス

//画像をアップロードします。画像が存在する場合は、既存の画像を更新しません
if(file_exists($destination) && $this-> ;imageStauts === 1 && $this->updateImage == 0){
$this->imageStauts = '画像は存在しています'; }

//画像をアップロードし、画像が存在する場合は更新します既存のイメージ
if($this->imageStauts === 1 && $this->updateImage == 1){
$deleteIMageDestination = $this ->destination_folder.$n; // を保存するローカル パス画像。ファイル名は含まれますが、画像の接尾辞は含まれません
if($this->deleteImage($deleteIMageDestination)){

}else{
$this-> ;imageStauts = '既存の画像の削除に失敗しました';
}

if(!move_uploaded_file($fileName, $destination) && $this->imageStauts === 1){
$this->imageStauts = ' 送信エラー' }

if($this- >imageStauts === 1){
$this->iamgePath = $this->imagePathTemp;
return $this->imageStauts }

/**
* 画像を削除します
* @param $path 画像のローカル保存パス
* @return 成功した場合は 1 を返し、失敗した場合は 0 を返します
*/
関数deleteImage($path){
if(!empty($path)){
foreach($this->imageType as $type){
$_path = $path .'.'.$type
if(file_exists( $_path)){
//echo $_path;
if(!unlink($_path)){
$this->imageStauts = '既存の画像の削除に失敗しました ';
return 0 }
}
}
return 1;
}else{
$this->imageStauts = '削除する画像へのパスは空にすることはできません';
return 1;
}

}

同じ問題ですか?
変更した写真をアップロードできないのはなぜですか?

まだ同じ問題がありますか?
変更した写真をアップロードできないのはなぜですか?

写真をアップロードしてデータベースに書き込むことができるようになりました。つまり、一緒にアップロードされたファイルと写真がある場合です。
$_GET の値を取得できません

まだ同じ問題がありますか?
変更した写真をアップロードできないのはなぜですか?

授業に問題はありますか?
現在のプロセスは次のとおりです:
値がテキストをアップロードする場合、それをデータベースに直接挿入します。
テキスト付きの写真をアップロードする場合は、写真がアップロードされるまで待ってからデータベースに挿入してください。

if($i->imageStauts == 1) 画像のアップロードが完了したかどうかを判断します

まず、コードが if ブロックに到達しているかどうかを確認します。このブロックに到達していない場合は、どうやって値を知ることができます。わかりますか?
if($i->imageStauts == 1){
echo "aaaaaa"; }

また、コードは前のコードとは異なります。
$i->doWork();
$i->imageCheck();
これらのロジックはもう必要ありませんか?

まず、コードが if ブロックに到達したかどうかを確認します。このブロックに到達していない場合、get の値が取得されていないことはどのようにしてわかりますか?

if($i->imageStauts == 1){
echo "aaaaaa"; }

また、コードは前のコードとは異なります。
$i->doWork();
$i->imageCheck();
これらのロジックはもう必要ありませんか?

$i->imageStart();
$i->doWork();
if($i->imageStauts == 1)
を置き換えることができますいつでもデータベースに挿入できます。
画像アドレスはデータベースに挿入できますが、get で取得した値はデータベースに挿入できません




低レベルのエラー
if($i-> imageStauts == 1)
は Status です。

public $imageStauts = 1 ;


これも私のクラスで書かれています

低レベルのエラー

if($i-> imageStauts == 1)
はステータスです
public $imageStauts = 1;私のクラスにも書かれています

低レベルエラー
if($i-> imageStauts == 1)
はステータスです

写真をアップロードしても get を取得できない場合、理由がわかりません。価値がある場合は、写真をアップロードしないでください。 。 。 。 。

低レベルのエラー
if($i-> imageStauts == 1)
is Status
public $imageStauts = 1;

私もクラスでこのように書きました

...間違いを犯しました。 。

低レベルのエラー
if($i->gt; imageStauts == 1)
は Status です

この判断を追加しなければ if($i->gt;imageStauts == 1) を取得できますvalue

デバッグの追加 :

else{
echo "to else";
echo "to status";
$sql="insert into json_bbsvalues('', '".$gettitle ."','".$getcontent."','','".time()."','')";
mysql_query($sql);

}

}

次にどのブロックが問題なのかを見てください。


低レベルのエラー
if($i-> imageStauts == 1)
はステータスです

この判断を追加しない場合、if($i->gt;imageStauts == 1) はget value

そうではありません。値は取得されませんでしたが、imageStauts は 1 に等しくなく、このコード ブロックにはまったく到達しませんでした。




低レベルのエラー
if($i-> imageStauts == 1)
は Status です

この判断を追加しない場合、 if($i->imageStauts == 1) は次のようになります。値を取得します

値が取得されないのではなく、imageStauts が 1 に等しくなく、このコード ブロックにまったく到達しません。

しかし、私は $sql="insert into json_bbsvalues('',' ".$gettitle."',' ".$getcontent."','','".time()."','' としました。 )"; 赤い部分を任意の文字に置き換えると、データベースに挿入できます

if($i->imageStauts == 1) このステップはパスされます。

これはキャンセルされた値の取得です:



これは取得値です




一个低级错误
if($i-> imageStauts == 1)
是Status

如果不加这个判断 if($i->imageStauts == 1) 就能得到get值

那不是没得到值,而是imageStauts不等于1,根本就没有走到这个代码块。

但是我把 $sql="insert into json_bbs values('',' ".$gettitle."',' ".$getcontent."','','".time()."','')"; 加红的地方换成 随便什么字符 就能插入到数据库
先把调试代码加上,sql也echo出来,看看结果。

先把调试代码加上,sql也echo出来,看看结果。

结果在上面。

就是说图片还是可以上传的了,对吧?

你的文字和图片是分别上传的,所以你的接收程序被执行了两次
一次是只有 get 过来的文字数据
一次是只有 upload 过来的图片
你需要做到的是:能识别这两次数据是来自同一浏览器的同一次提交(看代码图片是在提交的时候选择的,对吧?)
嗯,你的 uexUploaderMgr.createUploader(1,uploadHttp); 放错位置了,原来是对的

为了识别是来自同一浏览器,你可以使用 cookie 最好是 session 方便记录状态
为了识别是来自同一次提交,你可以在 url 上附加序号
大致是这个样子

var uploadHttp = "http://localhost/json/bbs/index.php";var num = 0;function upload(){  var url = uploadHttp + '?t=' + num;   if($$("fb-title").value!='' && $$("fb-content").value!='' && document.getElementById("showPic").src==""){    uexUploaderMgr.createUploader(1,url);    var fbtitle = $$("fb-title").value;    var fbcontent = $$("fb-content").value;    url += '&title='+fbtitle+'&content='+fbcontent+"&imgshows=none";    $.getJSON(url,function(data){      });....
ログイン後にコピー
ログイン後にコピー


session_start();if(isset($_SESSION['t']) && $_SESSION['t'] == $_GET['t']) {  //同一次提交  //根据传入的数据,修改数据库}else {  $_SESSION['t'] = $_GET['t'];  //根据传入的数据,插入数据库  $_SESSION['last'] = 上一次插入的 id ,用作修改是的凭据}
ログイン後にコピー
ログイン後にコピー

就是说图片还是可以上传的了,对吧?

你的文字和图片是分别上传的,所以你的接收程序被执行了两次
一次是只有 get 过来的文字数据
一次是只有 upload 过来的图片
你需要做到的是:能识别这两次数据是来自同一浏览器的同一次提交(看代码图片是在提交的时候选择的,对吧?)
嗯,你的 uexUploaderMgr.createUploader(1,uploadHttp); 放错位置了,原来是对的

为了识别是来自同一浏览器,你可以使用 cookie 最好是 session 方便记录状态
为了识别是来自同一次提交,你可以在 url 上附加序号
大致是这个样子

var uploadHttp = "http://localhost/json/bbs/index.php";var num = 0;function upload(){  var url = uploadHttp + '?t=' + num;   if($$("fb-title").value!='' && $$("fb-content").value!='' && document.getElementById("showPic").src==""){    uexUploaderMgr.createUploader(1,url);    var fbtitle = $$("fb-title").value;    var fbcontent = $$("fb-content").value;    url += '&title='+fbtitle+'&content='+fbcontent+"&imgshows=none";    $.getJSON(url,function(data){      });....
ログイン後にコピー
ログイン後にコピー


session_start();if(isset($_SESSION['t']) && $_SESSION['t'] == $_GET['t']) {  //同一次提交  //根据传入的数据,修改数据库}else {  $_SESSION['t'] = $_GET['t'];  //根据传入的数据,插入数据库  $_SESSION['last'] = 上一次插入的 id ,用作修改是的凭据}
ログイン後にコピー
ログイン後にコピー


这样子不行,图片和文字 是一起上传的  
if($$("fb-title").value!='' && $$("fb-content").value!='' && document.getElementById("showPic").src=="")//这个是判断有没有图片 这个是没有图片 直接就插入数据库了
if($$("fb-title").value!='' && $$("fb-content").value!='' && document.getElementById("showPic").src!="")//这个是有图片的 有图片 就执行上传图片的操作。

执行了图片的操作后,
if($i->imageStauts == 1) 判断图片是否是完成了上传。

如果完成了上传,就把文字和图片一起插入数据库,不是分开执行的。

现在就是 if($i->imageStauts == 1){ 在这里面不能获取GET的值。 如果把 $_GET['title']换成随便什么字符都行}

要怎么说你才能明白是分两次上传的呢?
这是上传文字,get方式,不可能上传文件。上传文件至少需要是post方式
$.getJSON(url,function(data){
 
这是创建一个上传组件,没有表单只能用组件上传
uexUploaderMgr.createUploader(1,uploadHttp);

补充一下
正因为是分作两次提交的,所以才会有你另一个帖子中的两条记录的问题

应该说这现在的代码远没有你另一帖的代码合理

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHPのさまざまなエラータイプを説明します(通知、警告、致命的なエラー、解析エラー)。 PHPのさまざまなエラータイプを説明します(通知、警告、致命的なエラー、解析エラー)。 Apr 08, 2025 am 12:03 AM

PHPには4つの主要なエラータイプがあります。1。notice:わずかなものは、未定義の変数へのアクセスなど、プログラムを中断しません。 2。警告:通知よりも深刻で、ファイルを含むなど、プログラムを終了しません。 3。ファタラー:最も深刻なのは、機能を呼び出すなど、プログラムを終了します。 4。ParseError:構文エラーは、エンドタグの追加を忘れるなど、プログラムの実行を防ぎます。

PHPでの安全なパスワードハッシュ(例:Password_hash、password_verify)を説明します。 MD5またはSHA1を使用してみませんか? PHPでの安全なパスワードハッシュ(例:Password_hash、password_verify)を説明します。 MD5またはSHA1を使用してみませんか? Apr 17, 2025 am 12:06 AM

PHPでは、Password_hashとpassword_verify関数を使用して安全なパスワードハッシュを実装する必要があり、MD5またはSHA1を使用しないでください。 1)password_hashセキュリティを強化するために、塩値を含むハッシュを生成します。 2)password_verifyハッシュ値を比較して、パスワードを確認し、セキュリティを確保します。 3)MD5とSHA1は脆弱であり、塩の値が不足しており、最新のパスワードセキュリティには適していません。

PHPとPython:2つの一般的なプログラミング言語を比較します PHPとPython:2つの一般的なプログラミング言語を比較します Apr 14, 2025 am 12:13 AM

PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。

アクション中のPHP:実際の例とアプリケーション アクション中のPHP:実際の例とアプリケーション Apr 14, 2025 am 12:19 AM

PHPは、電子商取引、コンテンツ管理システム、API開発で広く使用されています。 1)eコマース:ショッピングカート機能と支払い処理に使用。 2)コンテンツ管理システム:動的コンテンツの生成とユーザー管理に使用されます。 3)API開発:RESTFUL API開発とAPIセキュリティに使用されます。パフォーマンスの最適化とベストプラクティスを通じて、PHPアプリケーションの効率と保守性が向上します。

HTTPリクエストメソッド(取得、投稿、配置、削除など)とは何ですか?それぞれを使用する必要がありますか? HTTPリクエストメソッド(取得、投稿、配置、削除など)とは何ですか?それぞれを使用する必要がありますか? Apr 09, 2025 am 12:09 AM

HTTPリクエストメソッドには、それぞれリソースを取得、送信、更新、削除するために使用されるGET、POST、PUT、および削除が含まれます。 1. GETメソッドは、リソースを取得するために使用され、読み取り操作に適しています。 2. POSTメソッドはデータの送信に使用され、新しいリソースを作成するためによく使用されます。 3. PUTメソッドは、リソースの更新に使用され、完全な更新に適しています。 4.削除メソッドは、リソースの削除に使用され、削除操作に適しています。

PHP:Web開発の重要な言語 PHP:Web開発の重要な言語 Apr 13, 2025 am 12:08 AM

PHPは、サーバー側で広く使用されているスクリプト言語で、特にWeb開発に適しています。 1.PHPは、HTMLを埋め込み、HTTP要求と応答を処理し、さまざまなデータベースをサポートできます。 2.PHPは、ダイナミックWebコンテンツ、プロセスフォームデータ、アクセスデータベースなどを生成するために使用され、強力なコミュニティサポートとオープンソースリソースを備えています。 3。PHPは解釈された言語であり、実行プロセスには語彙分析、文法分析、編集、実行が含まれます。 4.PHPは、ユーザー登録システムなどの高度なアプリケーションについてMySQLと組み合わせることができます。 5。PHPをデバッグするときは、error_reporting()やvar_dump()などの関数を使用できます。 6. PHPコードを最適化して、キャッシュメカニズムを使用し、データベースクエリを最適化し、組み込み関数を使用します。 7

PHPは、ファイルを安全に処理する方法をどのように処理しますか? PHPは、ファイルを安全に処理する方法をどのように処理しますか? Apr 10, 2025 am 09:37 AM

PHPは、$ \ _ファイル変数を介してファイルのアップロードを処理します。セキュリティを確保するための方法には次のものが含まれます。1。アップロードエラー、2。ファイルの種類とサイズを確認する、3。ファイル上書きを防ぐ、4。ファイルを永続的なストレージの場所に移動します。

PHP OOPで、self ::、parent ::、and static ::の違いを説明します。 PHP OOPで、self ::、parent ::、and static ::の違いを説明します。 Apr 09, 2025 am 12:04 AM

Phpoopでは、self ::は現在のクラスを指し、親::は親クラスを指し、静的::は後期静的結合に使用されます。 1.Self ::静的方法と一定の呼び出しに使用されますが、後期静的結合をサポートしていません。 2.Parent ::サブクラスには、親クラスのメソッドを呼び出すために使用され、プライベートメソッドにアクセスできません。 3.Static ::継承と多型に適した後期静的結合をサポートしますが、コードの読みやすさに影響を与える可能性があります。

See all articles