2012-09-02 42 views
7

Tôi có hai máy chủ, một với trang web của tôi, một máy chủ lưu trữ. Tôi đang cố gắng để có một trang mà ai đó có thể tải lên một tập tin vào máy chủ lưu trữ, tôi hy vọng sẽ sử dụng một hình thức đăng bài để có được nó ở đó. Tôi đã viết một đoạn mã rất đơn giản để khắc phục sự cố này và có một chút rắc rối. Nó hoạt động tốt nếu tôi thay đổi hành động thành tệp .php lưu trên cùng một máy chủ nhưng khi tôi thay đổi nó thành máy chủ lưu trữ của mình, nó không thể tải lên và hiển thị cho tôi "echo" khác mà lỗi của tôi không thể tải lên.Tải lên tệp máy chủ từ xa qua PHP

HTML trên máy chủ web của tôi:

<form action="http://storageServer/upload_file.php" method="post" 
enctype="multipart/form-data"> 
<label for="file">Filename:</label> 
<input type="file" name="file" id="file" /> 
<br /> 
<input type="submit" name="submit" value="Submit" /> 
</form> 

Các PHP trên máy chủ lưu trữ của tôi:

<?php 
$folder = "files/"; 
$path = $folder . basename($_FILES['file']['name']); 
if(move_uploaded_file($_FILES['file']['tmp_name'], $path)) { 
echo "The file ". basename($_FILES['file']['name']). " has been uploaded"; 
} else{ 
echo "There was an error uploading the file, please try again!"; 
} 
?> 

Các .php trong thư mục html với "tác phẩm" thư mục.

Bất kỳ lý do nào tệp không được đưa vào máy chủ mà bạn có thể thấy?

Trả lời

3

This topic answers your question

Như đã đề cập, bạn có thể thử này:

$ch = curl_init("http://www.remotepage.com/upload.php"); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_POST, true); 
curl_setopt($ch, CUROPT_POSTFIELDS, array('fileupload' => '@'.$_FILES['theFile' ['tmp_name'])); 
echo curl_exec($ch); 
+0

Tôi đã cố gắng để làm điều đó mà không cURL. Có thể là cách tôi đã làm việc trên nó, hoặc tôi sẽ phải thêm một cái gì đó như cURL để trộn? – Milksnake12

+0

Có lẽ bạn có thể xử lý yêu cầu trên máy chủ mà bạn đang tải lên? –

+0

@ Milksnake12 cURL có xu hướng được đóng gói với hầu hết các cài đặt PHP. –

Các vấn đề liên quan