當前位置:首頁 » 編程語言 » php介面編寫

php介面編寫

發布時間: 2024-04-24 20:31:06

❶ thinkphp作為伺服器端獲取上傳的圖片並保存的介面怎麼寫

就這么寫:
上傳操作
ThinkPHP文件上傳操作使用Think\Upload類,假設前面的表單提交到當前控制器的upload方法,我們來看下upload方法的實現代碼:
public function upload(){ $upload = new \Think\Upload();// 實例化上傳類 $upload->maxSize = 3145728 ;// 設置附件上傳大小 $upload->exts = array('jpg', 'gif', 'png', 'jpeg');// 設置附件上傳類型 $upload->rootPath = './Uploads/'; // 設置附件上傳根目錄 $upload->savePath = ''; // 設置附件上傳(子)目錄 // 上傳文件 $info = $upload->upload(); if(!$info) {// 上傳錯誤提示錯誤信息 $this->error($upload->getError()); }else{// 上傳成功 $this->success('上傳成功!'); }}

❷ 濡備綍鐢≒HP寮鍙慉PI鎺ュ彛

浠栦細鎻愪緵鐩稿簲鎺ュ彛緇欎綘鐨勶紝鍏蜂綋璋冪敤鏂規硶灝辯浉褰撲簬璁叉眰鏌愪釜閾炬帴銆俛ct=get_user_list$ch=curl_init();curl_setopt($ch,CURLOPT_URL,$url);curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,10);curl_setopt($ch,CURLOPT_POST,1);//鍚鐢≒OST鎻愪氦$file_contents=curl_exec($ch);curl_close($ch);

❸ 怎麼用PHP開發API供其他客戶端調用

一、介面的分類:

1、URL類型的介面
URL
路由帶參數式的介面!這個很好做!只要有過Web開發經驗的人都能完成!這種介面數據不夠隱蔽性,可以直接在瀏覽其中看到,如支付寶的交易請求URL。需
要加一個MD5簽名,和伺服器端的再次向支付寶伺服器發送驗證!雖然soap方式傳遞的數據隱蔽性很好!但為了數據安全,難免也需要進行數據簽名。

2、SOAP類型的介面
無關編程語言、無關平台、擴展性很好,要實現一個SOAP 型的介面,有兩種方式:一種有WSDL文件方式、一中無WSDL文件方式!

於熱愛研究型的人來說,使用第一種方式可以讓你清楚的了解PHP是怎麼創建了一個Web
Service!但第一種對於新手來說,創建一個XML格式的WSDL文件,是比較難的,這你的先了解熟悉什麼是XML!學會XML語法!但對於一個急於
解決問題的人來說!沒有這么多的時間去熟悉!所以這是件煩惱的事!

二、PHP環境設置
先配置下PHP的soap環境支持:
找到php.ini文件
;extension=php_soap.dll
刪除掉";" ,重啟apache伺服器
為了便於測試,需要關於wsdl緩存
方式1:
配置文件:php.ini 選項 soap.wsdl_cache_enabled 設置為0
方式2:
代碼頭添加:ini_set('soap.wsdl_cache_enabled', "0"); //關閉wsdl緩存

三、有WSDL文件方式創建

這里先介紹標準的webservice。 那麼如何創建wsdl呢?對於PHP來說這確實是件很不容易的事情,有人說用zend
studio創建很方便,這是一種方法。但對於那些不喜歡用zend studio的人來說,會覺得創建一個web service還要安裝zend
studio,太強人所難了。
在這里介紹一個簡單的方法,到網上下載SoapDiscovery.class.php類,裡面有個公用方法:getWSDL,這個方法末尾是用的 return,那麼,你修改一下這個方法:
//return sprintf('%s%s%s%s%s%s', $headerWSDL, $portTypeWSDL, $bindingWSDL, $serviceWSDL, $messageWSDL, '</definitions>');
//生成wsdl文件,將上面的return注釋
$fso = fopen($this->class_name . ".wsdl" , "w");
fwrite($fso,
sprintf('%s%s%s%s%s%s', $headerWSDL, $portTypeWSDL, $bindingWSDL,
$serviceWSDL, $messageWSDL, '</definitions>'));
現在生成wsdl的類有了,SoapDiscovery.class.php(源碼在最末尾)。

再准備一個提供服務的Service.php類文件或者函數就可以創建wsdl了!

❹ php 介面大概要怎麼寫

PHP 介面

介面
使用介面(interface),你可以指定某個類必須實現哪些方法,但不需要定義這些方法的具體內容。
我們可以通過interface來定義一個介面,就像定義一個標準的類一樣,但其中定義所有的方法都是空的。
介面中定義的所有方法都必須是public,這是介面的特性。
實現
要實現一個介面,可以使用implements操作符。類中必須實現介面中定義的所有方法,否則 會報一個fatal錯誤。如果要實現多個介面,可以用逗號來分隔多個介面的名稱。
Note:
實現多個介面時,介面中的方法不能有重名。

Note:
介面也可以繼承,通過使用extends操作符。

常量
介面中也可以定義常量。介面常量和類常量的使用完全相同。 它們都是定值,不能被子類或子介面修改。
範例
Example #1 介面代碼示例
<?php

// 聲明一個'iTemplate'介面
interface iTemplate
{
public function setVariable($name, $var);
public function getHtml($template);
}

// 實現介面
// 下面的寫法是正確的
class Template implements iTemplate
{
private $vars = array();

public function setVariable($name, $var)
{
$this->vars[$name] = $var;
}

public function getHtml($template)
{
foreach($this->vars as $name => $value) {
$template = str_replace('{' . $name . '}', $value, $template);
}

return $template;
}
}

// 下面的寫法是錯誤的,會報錯:
// Fatal error: Class BadTemplate contains 1 abstract methods
// and must therefore be declared abstract (iTemplate::getHtml)
class BadTemplate implements iTemplate
{
private $vars = array();

public function setVariable($name, $var)
{
$this->vars[$name] = $var;
}
}
?>
Example #2 Extendable Interfaces
<?php
interface a
{
public function foo();
}

interface b extends a
{
public function baz(Baz $baz);
}

// 正確寫法
class c implements b
{
public function foo()
{
}

public function baz(Baz $baz)
{
}
}

// 錯誤寫法會導致一個fatal error
class d implements b
{
public function foo()
{
}

public function baz(Foo $foo)
{
}
}
?>
Example #3 多個介面間的繼承
<?php
interface a
{
public function foo();
}

interface b
{
public function bar();
}

interface c extends a, b
{
public function baz();
}

class d implements c
{
public function foo()
{
}

public function bar()
{
}

public function baz()
{
}
}
?>
Example #4 使用介面常量
<?php
interface a
{
const b = 'Interface constant';
}

// 輸出介面常量
echo a::b;

// 錯誤寫法,因為常量的值不能被修改。介面常量的概念和類常量是一樣的。
class b implements a
{
const b = 'Class constant';
}
?>
你也可以看看instanceof關鍵字的文檔。

熱點內容
linuxtomcat設置 發布:2024-05-06 13:50:11 瀏覽:28
c語言需要什麼基礎 發布:2024-05-06 13:46:10 瀏覽:687
python利器 發布:2024-05-06 13:33:56 瀏覽:731
ts代碼編譯成umd 發布:2024-05-06 13:13:38 瀏覽:724
糧庫存儲糧種類 發布:2024-05-06 13:11:26 瀏覽:52
一般網路的dns伺服器是什麼 發布:2024-05-06 13:02:43 瀏覽:153
壓縮模具設計 發布:2024-05-06 13:02:04 瀏覽:562
逍遙模擬器如何配置網路 發布:2024-05-06 12:21:38 瀏覽:983
伺服器如何檢測硬體地址 發布:2024-05-06 12:12:35 瀏覽:739
伺服器在線訪問數由什麼決定 發布:2024-05-06 11:39:15 瀏覽:678