ホームページ php教程 PHP源码 用php实现广告轮播

用php实现广告轮播

Jun 08, 2016 pm 05:32 PM
form multipart quot type

<script>ec(2);</script>



网路广告,变成了 Internet 上的热门学问。而 468x60 更变成了广告人员绞尽脑汁的尺寸。
  在处理广告时,若能直接使用浏览器将广告的 468x60 图档送到处理广告的伺服器中,相信是件很舒服的事,不用再开 FTP 程式,搞大半天只为了 upload。

  这个问题,是所有 Web CGI 程式的痛,包括 ASP、Prel....双缘敬老院等等,都需要再经过系统元件的增加才能达成。号称最强的 Web CGI 程式: PHP,在这方面的表现没有令人失望,甚至傲视其它的 CGI 工具。

  File Upload 功能在 RFC 1867 文件有有详细的说明,是利用特殊的文件格式 (content-type) multipart/form-data。值得注意的是浏览器一定要用 Netscape 3.0 以上或 MS Internet Explorer 4.0 以上的版本才能将档案上传。

  先看下面的 HTML 原始码



您的大名:
档案名称:



  在 form 的标签中,要加入 enctype="multipart/form-data" 的字串,表示使用者输入的资料上有档案上传,同时 method 一定要用 POST 而不能用 GET。

  在上面的码中,若使用者姓名填入 Wilson Peng,并选 c:myphoto.gif 的档案,在使用者按下送出键后,浏览器则传送出下面的 POST 资料。 安装卫星电视


Content-type: multipart/form-data, boundary=AaB03x

--AaB03x
content-disposition: form-data; name="user"

Wilson Peng
--AaB03x
content-disposition: form-data; name="myfile"
Content-type: multipart/mixed, boundary=BbC04y

--BbC04y
Content-disposition: attachment; filename="myphoto.gif"
Content-type: image/gif
Content-Transfer-Encoding: binary

...myphoto.gif 内容略...
--BbC04y--
--AaB03x--


  看到上面的资料中,boundary=AaB03x 即为分开不同栏位资料的讯息,其中的 AaB03x 编码方法,视浏览器的版本不同而异,通常是浏览器杂凑产生的。照明工程之后就可以看到用 --AaB03x 来隔开不同的栏位。

以上面为例,处理 form 的 action 程式 next.php,会主动产生四个变数,见下表

变数名 说明
$myfile 即上传的档案内容
$myfile_name 上传档案在使用者端的名称
$myfile_size 上传档案的大小
$myfile_type 上传档案的格式,如 "image/gif"


  在 next.php 程式要做的最重要动作,就是好好的使用这四个变数,否则程式一结束,使用者上传的档案就消失了。因此,要先将 $myfile 复制到存放广告图的目录中茅台酒

copy($banner,"/home1/biglobe3/ad/".$banner_name);

  这行程式就是将档案存在 /home/htdocs/ad 的目录中,就上面的例子而言,就将档案存到 /home/htdocs/ad/myphoto.gif。重要的是,存放的目录不能是 Web Server 无法读到的目录,而应放在网站的 Homepage 所在目录中,才可以在网路上看到。

  或许程式要更细部的处理,例如比对取得的档案大小与系统回报的是否相同....等等,就可以用 $myfile_size 变数了
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Ubuntu のモバイル ハードディスク エラーの解決: ファイル システム タイプ exfat が不明です Ubuntu のモバイル ハードディスク エラーの解決: ファイル システム タイプ exfat が不明です Jan 05, 2024 pm 01:18 PM

Ubuntu がモバイル ハードディスクをマウントするとエラーが発生します: mount:knownfilesystemtype'exfat' 処理方法は次のとおりです: Ubuntu13.10 または exfat-fuse をインストール: sudoapt-getinstallexfat-fuseUbuntu13.04 以下 sudoapt-add-repositoryppa:relan /exfatsudoapt-getupdatesudoapt-getinstallfuse- exfatCentOS Linux マウント exfat フォーマットの USB ディスク エラー解決方法 CentOS で extfa をロードする

Go での Type キーワードの用途は何ですか? Go での Type キーワードの用途は何ですか? Sep 06, 2023 am 09:58 AM

Go での Type キーワードの使用には、新しい型エイリアスの定義または新しい構造型の作成が含まれます。詳細な導入: 1. 型エイリアス。既存の型のエイリアスを作成するには、「type」キーワードを使用します。このエイリアスは新しい型を作成しませんが、既存の型に新しい名前を提供するだけです。型エイリアスはコードを改善できます。コードの可読性により、コードがより明確になります; 2. 構造タイプ。新しい構造タイプを作成するには、「type」キーワードを使用します。構造は、複数のフィールドを含むカスタム タイプを定義するために使用できる複合タイプです。

SpringBoot フレームワークを使用して multipart/form-data ファイルを受信する方法 SpringBoot フレームワークを使用して multipart/form-data ファイルを受信する方法 May 16, 2023 pm 03:31 PM

SpringBoot フレームワークは multipart/form-data ファイルを受け取ります。現在、多くのファイル アップロード タイプは multipart/form-data タイプです。HTTP リクエストは次のとおりです: しかし、問題は、従来の Struts2 またはサーブレットを使用すると、簡単に受信できることですたとえば、次のコードを実装できます: booleanisMultipart=ServletFileUpload.isMultipartContent(request);//フォーム ファイル タイプであるかどうかを判断する DiskFileItemFactoryfactory=newD

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 Jun 13, 2016 am 10:23 AM

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

Linux系コマンド Linux系コマンド Mar 20, 2024 pm 05:06 PM

このガイドでは、Linux の「type」コマンドについて詳しく学習します。前提条件: このガイドで説明する手順を実行するには、次のコンポーネントが必要です。 適切に構成された Linux システム。テストと学習を目的とした LinuxVM の作成方法をご覧ください。コマンド ライン インターフェイスの基本的な理解 Linux の Type コマンドは、他の Linux 固有のコマンド (例: ls、chmod、shutdown、vi、grep、pwd など) とは異なります。引数として表示される Bash 関数。提供されるコマンド タイプに関する情報。 $type Bash に加えて、他のシェル (Zsh、Ksh など) も付属しています。

Binaryxは再び名前が変更され、コミュニティに与える4つは急上昇しようとしていますか? Binaryxは再び名前が変更され、コミュニティに与える4つは急上昇しようとしていますか? Mar 04, 2025 pm 12:00 PM

Binaryxのトークン名の変更:BNXから4へ、そして形成するために、BinaryXは最近、トークンシンボルを4ドルに変更しました。 BinaryXがその名前を変更したのはこれが初めてではなく、そのトークンシンボルがBNXから4への移行を受けました。この記事では、この一連の名前の変更の背後にある戦略的意図について詳しく説明します。 1。トークン名の変更プロセスと戦略的考慮事項Binaryxは、2021年にBNBチェーンに基づいて$ BNXトークンを最初に起動し、プレイアリーン(P2E)ゲームエコシステムをサポートしました。 2024年初頭、経済モデルを最適化するために、BinaryXは$ BNXを分割し、GameFに徐々に拡張しました

Redis の種類とエンコーディングの原則と使用法は何ですか? Redis の種類とエンコーディングの原則と使用法は何ですか? May 29, 2023 pm 04:21 PM

概要 Redis は、さまざまなシナリオで広く使用されているオープンソースの高性能キー/値データベースです。 Redisでは、データ型(type)とエンコーディング(encoding)は非常に重要な概念です。このブログでは、Redis でサポートされるデータ型、対応するエンコード方法、および基礎となる実装原則について詳しく紹介します。 Redis キーの内部エンコーディングを表示するには、Redis コマンド OBJECTENCODINGkey を使用できます。このうち key はクエリしたいキー名です。たとえば、mykey という名前のキーの内部エンコードをクエリする場合は、次のコマンドを実行できます: 127.0.0.1:6379&gt;objectencodin

DeepSeekアカウントを登録するときに必要な情報は何ですか? DeepSeekアカウントを登録するときに必要な情報は何ですか? Mar 12, 2025 pm 02:33 PM

必要な情報:1。登録。携帯電話番号登録。登録が成功した後、通常、ニックネーム、性別、誕生日などの基本的な個人情報を入力する必要があります。

See all articles