本文目錄一覽:
- 1、PHP中怎麼讓兩個頁面的視頻播放時間點一樣
- 2、不能上傳文件使用Flash和PHP問題,怎麼解決
- 3、何謂 flash cookie ?怎麼清楚 flash cookie ?
- 4、關於php後台中的flash與php通信,驗證session。
- 5、php讀取cookie中包含中文內容賦值給變量沒有亂碼,但是用if語句比較的時候不能通過。
- 6、Flash的cookie文件是指的什麼?動畫文件?
PHP中怎麼讓兩個頁面的視頻播放時間點一樣
flash可以操作cookie,把時間記錄在cookie中,然後讀取cookie來同步時間。
不能上傳文件使用Flash和PHP問題,怎麼解決
使用Uploadify的時候一定要小心cookie bug:在非IE內核內核的瀏覽器下使用flash上傳文件時,該請求會忽略自身瀏覽器中的所有cookie ,只會 將IE瀏覽器下的屬於該域的持久cookie(persistent cookies)發送到服務端,非持久cookie( Session only)不會被發送。遺憾的是此Bug並非是Uploadify內部實現的問題(所有的 Flash上傳都會存在此bug),而是FlashPlayer的bug,所有使用FileReference類上傳文件時會存在此問題。幸運的是我們有辦法繞開此陷阱。
何謂 flash cookie ?怎麼清楚 flash cookie ?
除了Http包含Cookie信息以外,Flash也是有Cookie信息的。315晚會就曝光了FLASHcookie可以無限提供用戶的個人信息,危害很大。
其實瀏覽器中的Flash Cookie同Http Cookie一樣,都是記錄用戶在瀏覽網頁時保留的信息,而前置記錄的只是Flash保存的信息。但是相比起Http Cookie,Flash Cookie具有更加強大的特性,危險性較普通COOKIE更大:1.容量更大,Flash Cookie可以容納最多100千位元組的數據,而一個標準的HTTP Cookie只有4千位元組;
2.Flash Cookie沒有默認的過期時間;
3.Flash Cookie將被存儲在不同的地點,這使得它們很難被找到。
而在Flash Player 10.3版本之前,幾乎沒有簡單刪除Flash Cookie的辦法,所以想像一下,網站可以讀取你在互聯網上的使用信息,而你卻連這個Cookie文件放在哪裡都不知道,更別說刪除,幾乎可以被視為任人宰割了。
鑒於目前Flash Player漏洞眾多的情況,最好的方法就是升級到Flash Player 10.3版本。在升級之後,系統的「控制面板」中便會新增一個Flash Player的設置選項。通過這個功能,我們便可以對本地存儲的Flash Cookie進行操作。
點擊「站點的本地存儲設置…」按鈕,就可以查看到目前電腦中保存的Flash Cookie信息,您還可以對這些信息進行單個的設置,比如「阻止」、「允許」或者「刪除」。
PS:明天一定會有N多瀏覽器宣傳自己可以清除FLASH COOKIE了,哈哈
關於php後台中的flash與php通信,驗證session。
php的session是利用cookie實現的
flash無法讀取php生成的cookie文件
建議改用接口的形式,php無視掉session,把用戶名加數字簽名發送給flash,flash收到請求後先驗證簽名,如果正確,用同樣方式把數據返回給php。
php讀取cookie中包含中文內容賦值給變量沒有亂碼,但是用if語句比較的時候不能通過。
.HTML頁面轉UTF-8編碼問題
1.在head後,title前加入一行:
meta http-equiv=’Content-Type’ content=’text/html; charset=utf-8′ /
順序不能錯,一定要在
顯示的標題有可能是亂碼!
2.html文件編碼問題:
點擊編輯器的菜單:「文件」-「另存為」,可以看到當前文件的編碼,確保文件編碼為:UTF-8,
如果是ANSI,需要將編碼改成:UTF-8。
3.HTML文件頭BOM問題:
將文件從其他的編碼轉換成UTF-8編碼時,有時候會在文件的最開始加上一個BOM標籤,
在個BOM標籤可能會導致瀏覽器在顯示中文的時候出現亂碼。
刪除這個BOM標籤的方法:
1.可以用Dreamweaver打開文件,並重新保存,即可以去除BOM標籤!
2.可以用EditPlus打開文件,並在菜單「首選項」-「文件」-“UTF-8標識”,設置為:「總是刪除簽名」,
然後保存文件,即可以去除BOM標籤!
4.WEB服務器UTF-8編碼問題:
如果你按以上所列的步驟做了,還是有中文亂碼問題,
請檢查你的所使用的WEB服務器的編碼問題
如果你使用的是Apache,請將配置文件里的:charset 設成:utf-8(這裡僅列出方法,具體格式請參考apache的配置文件)
如果你使用的是Nginx,請將nginx.conf里的:charset 設成 utf-8,
具體找到 “charset gb2312;”或者類似的語句,改成:「charset utf-8;」。
二.PHP頁面轉UTF-8編碼問題
1.在代碼開始出加入一行:
header(“Content-Type: text/html;charset=utf-8”);
2.PHP文件編碼問題
點擊編輯器的菜單:「文件」-「另存為」,可以看到當前文件的編碼,確保文件編碼為:UTF-8,
如果是ANSI,需要將編碼改成:UTF-8。
3.PHP文件頭BOM問題:
PHP文件一定不可以有BOM標籤
否則,會出現session不能使用的情況,並有類似的提示:
Warning: session_start() [function.session-start]: Cannot send session cache limiter – headers already sent
這是因為,在執行session_start() 的時候,整個頁面不能有輸出,但是當由於前PHP頁面存在BOM標籤,
PHP把這個BOM標籤當成是輸出了,所以就出錯了!
所以PHP頁面一定要刪除BOM標籤
刪除這個BOM標籤的方法:
1.可以用Dreamweaver打開文件,並重新保存,即可以去除BOM標籤!
2.可以用EditPlus打開文件,並在菜單「首選項」-「文件」-“UTF-8標識”,設置為:「總是刪除簽名」,
然後保存文件,即可以去除BOM標籤!
4.PHP以附件形式保存文件的時候,UTF-8編碼問題:
PHP以附件形式保存文件,文件名必須是GB2312編碼,
否則,如果文件名中有中文的話,將是顯示亂碼:
如果你的PHP本身是UTF-8編碼格式的文件,
需要將文件名變量由UTF-8轉成GB2312:
iconv(“UTF-8”, “GB2312”, “$filename”);
5.截斷顯示文章標題時,出現亂碼或者「?」問號的問題:
一般文章標題很長的時候,會顯示一部分標題,會對文章標題進行截斷,
由於一個UTF-8編碼格式的中文字符會佔用3個字符寬度,
截取標題的時候,有時會只截取到一個中文字符的1個字符或2字符寬度,
沒截取完整,將出現亂碼或「?」問號的情況,
用下面的函數截取標題,就不會有問題:
三.MYSQL數據庫使用UTF-8編碼的問題
1.用phpmyadmin創建數據庫和數據表
創建數據庫的時候,請將「整理」設置為:「utf8_general_ci」
或執行語句:
CREATE DATABASE `dbname` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
創建數據表的時候:如果是該字段是存放中文的話,則需要將「整理」設置為:「utf8_general_ci」,
如果該字段是存放英文或數字的話,默認就可以了。
相應的SQL語句,例如:
2.用PHP讀寫數據庫
在連接數據庫之後:
[hide]$connection = mysql_connect($host_name, $host_user, $host_pass);
加入兩行:
就可以正常的讀寫MYSQL數據庫了。
四.JS相關的UTF-8編碼問題
1.JS讀Cookie的中文亂碼問題
PHP寫cookie的時候需要將中文字符進行escape編碼,
否則JS讀到cookie中的中文字符將是亂碼。
但php本身沒有escape函數,我們新寫一個escape函數:
JS讀cookie的時候,用unescape解碼,
然後就解決cookie中有中文亂碼的問題了。
2.外部JS文件UTF-8編碼問題
當一個HTML頁面或則PHP頁面包含一個外部的JS文件時,
如果HTML頁面或則PHP頁面是UTF-8編碼格式的文件,
外部的JS文件同樣要轉成UTF-8的文件,
否則將出現,沒有包含不成功,調用函數時沒有反應的情況。
點擊編輯器的菜單:「文件」-「另存為」,可以看到當前文件的編碼,確保文件編碼為:UTF-8,
如果是ANSI,需要將編碼改成:UTF-8。
五.FLASH相關的UTF-8編碼問題
FLASH內部對所有字符串,默認都是以UTF-8處理
1.FLASH讀文普通本文件(txt,html)
要將文本文件的編碼存為UTF-8
點擊編輯器的菜單:「文件」-「另存為」,可以看到當前文件的編碼,確保文件編碼為:UTF-8,
如果是ANSI,需要將編碼改成:UTF-8。
2.FLASH讀XML文件
要將XML文件的編碼存為UTF-8
點擊編輯器的菜單:「文件」-「另存為」,可以看到當前文件的編碼,確保文件編碼為:UTF-8,
如果是ANSI,需要將編碼改成:UTF-8。
在XML第1行寫:
3.FLASH讀PHP返回數據
如果PHP編碼本身是UTF-8的,直接echo就可以了
如果PHP編碼本身是GB2312的,可以將PHP轉存成UTF-8編碼格式的文件,直接echo就可以了
如果PHP編碼本身是GB2312的,而且不允許改文件的編碼格式,
用下面的語句將字符串轉換成UTF-8的編碼格式
$new_str = iconv(“GB2312”, “UTF-8”, “$str”);
再echo就可以了
4.FLASH讀數據庫(MYSQL)的數據
FLASH要通過PHP讀取數據庫中的數據
PHP本身的編碼不重要,關鍵是如果數據庫的編碼是GB2312的話,
需要用下面的語句將字符串轉換成UTF-8的編碼格式
$new_str = iconv(“GB2312”, “UTF-8”, “$str”);
5.FLASH通過PHP寫數據
一句話,FLASH傳過來的字符串是UTF-8格式的,
要轉換成相應的編碼格式,再操作(寫文件、寫數據庫、直接顯示等等)
還是用iconv函數轉換
6.FLASH使用本地編碼(理論上不推薦使用)
如果想讓FLASH不使用UTF-8編碼,而是使用本地編碼
對於中國大陸地區而言,本地編碼是GB2312或GBK
AS程序內,可以添加以下代碼:
System.useCodepage = true;
那麼FLASH內所有字符都是使用GB2312的編碼了
所有導入到FLASH或者從FLASH導出的數據,都應該做相應的編碼轉換
因為使用本地編碼,會造成使用繁體中文地區的用戶產生亂碼,所以不推薦使用
Flash的cookie文件是指的什麼?動畫文件?
cookie的具體含義cookie 歷來指就着牛奶一起吃的點心。然而,在互聯網內,「cookie」這個字有了完全不同的意思。那麼「cookie」到底是什麼呢?「Cookie」是小量信息,由網絡服務器發送出來以存儲在網絡瀏覽器上,從而下次這位獨一無二的訪客又回到該網絡服務器時,可從該瀏覽器讀回此信息。這是很有用的,讓瀏覽器記住這位訪客的特定信息,如上次訪問的位置、花費的時間或用戶首選項(如樣式表)。Cookie 是個存儲在瀏覽器目錄的文本文件,當瀏覽器運行時,存儲在 RAM 中。一旦閣下從該網站或網絡服務器退出,Cookie 也可存儲在計算機的硬驅上。I3I.net的打算是,當訪客結束其瀏覽器對話時,即終止I3I.net的所有 cookie。
Cookie 有哪些用途?
Cookie 的用途之一是存儲用戶在特定網站上的密碼和 ID。另外,也用於存儲起始頁的首選項。在提供個人化查看的網站上,將要求閣下的網絡瀏覽器利用閣下計算機硬驅上的少量空間來儲存這些首選項。這樣,每次閣下登錄該網站時,閣下的瀏覽器將檢查閣下是否就該唯一的服務器有任何預先定義的首選項(cookie)。如果有的話,瀏覽器將此 cookie 隨閣下對網頁的請求一起發送給服務器。Microsoft 和 Netscape 使用 cookie 在其網站上創建個人起始頁。各家公司利用 cookie 的一般用途包括:在線定貨系統、網站個人化和網站跟蹤。
網站個人化是 cookie 最有益的用途之一。例如,當誰來到 CNN 網站,但並不想查看任何商務新聞。網站允許他將該項選為選項。從那時起(或者直到 cookie 逾期),他在訪問 CNN 網頁時將不會讀到商務新聞。
這些 Cookie 是如何起作用的?
文檔的 HTML 代碼中的命令行告訴瀏覽器設置某一名稱或數值的 cookie。以下是用來設置 cookie 腳本的一個普通實例。
Set-Cookie: name = VALUE;
expires = DATE;
path = PATH;
domain = DOMAIN_NAME;
那麼安全性如何?HTTP Cookie 不能用來從閣下的硬驅上檢索個人數據、放置病毒、得到閣下的電子郵件地址或偷竊有關閣下身份的敏感信息;然而,HTTP Cookie 可用來跟蹤閣下在特定網站上的所到之處。不使用 cookie 就很難進行網站跟蹤。
至於其他一切與互聯網有關的事,如同閣下所希望的那樣是匿名的。沒有網站知道閣下是誰,除非閣下自己透露給網站。同時,cookie 只是為了更好地了解使用模式並改進網站訪客的效率而採用的一個網站跟蹤統計手段而已。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/283639.html