0
我查看了許多關於將文件上傳到遠程目錄(通過GoDaddy託管; Windows機器)的問題的帖子,但是未能成功實施更改。將kml文件上傳到由GoDaddy託管的遠程目錄的問題
這是我正在做的。我寫了一個非常簡單的PHP來將本地KML文件上傳到遠程GoDaddy目錄。我這樣做是爲了爲KML創建一個面向公衆的URL,然後將它添加到我的Google Map應用程序中。
我所做的事情:
- 確保了許可允許「寫」到我上傳的目錄。
- 通過上傳到我網站上的目錄測試PHP。這是有效的,但該網站並非面向公衆(因此它不會覆蓋地圖上的KML,因此我現在試圖上傳到GoDaddy)。
- 改寫我的AJAX功能後使用不同的數據類型(顯然這一直是其他GoDaddy的用戶上傳文件時修復)
- 添加了.KML MIME類型GoDaddy的web.config中
是什麼工作:
- 如果我使用FTP文件管理器,並手動將KML放在目錄中,它是可訪問的,並加載在我的地圖上就好了。
- 顯然,PHP的工作原理是因爲我的.done()函數試圖上傳後觸發。
什麼我的極限是:
- 我不能登錄GoDaddy的的客戶經理,因爲這個信息的唯一的人是我們的網絡管理員(誰巧合的是走出辦公室)。
- PHP,除了閱讀教程,創建Hello World頁面和郵件表單之外,我從來沒有做過任何事情。
這裏是AJAX後:
$.ajax({
url: 'http://www.example.com/dev/Drawings/upload.php',
type: 'POST',
processData: false,
data: data,
dataType: 'html'
})
.done(function() {
dKML = new google.maps.KmlLayer('http://www.example.com/dev/Drawings/Uploads/' + filename);
dKML.setMap(map);
})
.fail(function (xhr, errorType, exception) {
var errorMessage = exception + "\n" + xhr.status + "\n" + errorType;
alert(errorMessage);
});
這是我的PHP(upload.php的):
<?php
header("Access-Control-Allow-Origin: *");
if (!isset($_FILES['file'])) {
die();
} else {
$temp_file = $_FILES['file']['tmp_name'];
move_uploaded_file($temp_file, "/Uploads/" . $_FILES['file']['name']);
}
?>
我一直在猶豫,張貼在這裏,因爲我相信我可以弄清楚這一點,但老實說,我在無數小時的試錯中迷失了方向。
我的問題是:
在語法方面是否顯示不正確?
有沒有人遇到過類似的問題,如果是的話,你能做些什麼來解決這個問題?
是否有可能存在問題,因爲在測試上傳時我使用的是localhost?
預先感謝您!
你的問題到底是什麼?你有錯誤信息嗎? – raam86
可能並不明確,但我的問題只是(和問題)這個問題......爲什麼這不起作用?這是明顯的嗎?你會做一些不同的事情嗎?我只需要知道我是否正確地做了這件事,還是需要重新考慮一些事情?你(或其他人)以前是否處理過這個問題?沒有錯誤消息要報告。它只是不移動上傳的文件。我需要知道爲什麼。如果您需要更多信息,請告訴我。 –
它可能是一個協議問題?調試我的網站時使用的是localhost。但我已經讀過一個域至少需要2個「。」 。那麼有可能我的網站無法訪問PHP腳本,因爲沒有真正的域名?如果是這種情況,我不明白爲什麼AJAX會返回成功。思考? –