2012-08-29 44 views
0

我想在我的瀏覽器中打開一個文本文件,當它從我的本地計算機上完成時,它完美地工作,但是當我將文件上傳到我的Web服務器時,文本文件不再起作用,並且我從瀏覽器中看到一個斷開的鏈接錯誤。在瀏覽器中打開文本文件 - 服務器上的錯誤

這裏是我打開txt文件代碼:

<div style="width: 100%; background-color: #CCC;text-align: center;"> 
<a href="code.txt" onclick="window.open(this.href,this.target,'height=300, width=500');return false;">Code</a> 
</div> 
+0

您是否將文本文件上傳到與html文件相同的位置? – BugFinder

+0

你的文本文件位於服務器上?該html文件位於何處? – Asciiom

+0

是的,它被上傳到index.php文件所在的目錄。 –

回答

0

(與像http://與一個/指示網站的根啓動協議也不一個開始既不是完整的URL,即,一個)的相對URL相對於在網址中的最後/。這意味着如果您的<a href="code.txt">Code</a>http://www.example.com/dir/page.html上,則會丟棄page.html並附加code.txt,從而導致http://www.example.com/dir/code.txt。如果code.txt文件未上傳到您的網絡服務器上的該位置,則不會找到該文件。

您確定code.txt是否在服務器上?也就是說,您可以手動導航到服務器上的文本文件嗎?

您確定您的PHP文件與code.txt位於同一目錄嗎?

是否有任何情況(大寫/小寫)問題,就像@BugFinder提到的那樣?

它沒有JavaScript彈出式工作嗎?從你的問題來看,它聽起來不像JS問題,但是看到@Sathish認爲有一些東西需要糾正你的彈出行爲(對我來說看起來很好),值得移除該變量並查看普通鏈接是否有效。

您的服務器上是否存在任何權限問題或限制,無法顯示該文件?對於這個問題,你收到的確切的錯誤代碼和消息是什麼? 404?還有別的嗎?

我傾向於從你迄今爲止所說的話來猜測該文件實際上沒有上傳過。另外,儘管你說了什麼,它實際上並不在你的PHP文件所在的目錄中。如果這些都不是這些問題,請更新您的問題並提供更多詳細信息。


如果該文件根據FTP存在,有幾個可能的原因:

  1. 文件在服務器上,而不是你認爲它是。例如,許多網絡主機都有一個私人根目錄,網絡無法訪問,其中有一個public_html/www/目錄,它是您網站的實際根目錄。您以前能否將其他文件上傳到您的網站?這聽起來像PHP文件已成功可用,所以假設txt文件在同一個地方,這不是問題。
  2. 您的網站未設置爲允許.txt文件提供給瀏覽器。你是否能夠上傳和看到任何txt文件,或者這是第一個有這個問題的文件?如果爲了嘗試它而將文件重命名爲code.html並將其上傳到同一個地方會發生什麼?

根據記錄,這很可能是一個更好的問題帶來了你的主機(或只是看通過他們的文檔/支)比StackOverflow上,這不是一個編程問題,但託管問題。由於我們不知道您的主機是誰,也不知道每個託管服務提供商的錯綜複雜情況,因此很難診斷出問題所在。

+0

事情是文件顯示在filezilla和webservers在線ftp工具,但當手動導航到它或使用在線ftp工具上的鏈接時,我從Chrome中得到相同的錯誤:哎呀!這個鏈接似乎被打破。 我確定php文件在同一個目錄下。 沒有大小寫問題。 它的作品沒有js彈出> –

+0

@LehanCoetzee看我的編輯。 – dimo414

+0

這是我第一次嘗試這個。我將文件更改爲HTML文件,現在它可以工作,所以我猜服務器不允許txt文件... 對不起。這是我第一次遇到這樣的事情,所以我不知道這是一個託管問題。 –

0

通過點擊鏈接打開新的窗口,你需要使用JavaScript的window.open方法。

<a href="javascript: void(0)" 
onclick="window.open('popup.txt', 
'windowname1', 
'width=200, height=77'); 
return false;">Click here for txt</a> 
+0

似乎並不是一個JavaScript問題。我用我的方法得到了同樣的錯誤,只有一個正常的鏈接。 –