Bằng cách sử dụng url wrapper, bạn có thể sử dụng mặc định move_uploaded_file(), nếu máy chủ ftp của bạn chấp nhận loại kết nối này. Ngoài ra, bạn có thể sử dụng ftp functions của PHP, đặc biệt là ftp_put(), để tải tệp lên máy chủ.
Đối với phân phối nội dung, bạn cần phải có một cơ sở dữ liệu hoặc các phương tiện khác để có được url gốc trên máy chủ phân phối nội dung và đặt url trong các đối số html:
<img src="http://cdn1.example.com/images/68263483.png" />
<a href="http://cdn2.example.com/files/9872345.pdf">Download PDF</a>
Một ví dụ mã để xử lý một tải lên file sẽ
<?php
// ...
$uploads_dir = 'images';
foreach ($_FILES["pictures"]["error"] as $key => $error) {
if ($error == UPLOAD_ERR_OK) {
$tmp_name = $_FILES["pictures"]["tmp_name"][$key];
$name = $_FILES["pictures"]["name"][$key];
move_uploaded_file($tmp_name,
"ftp://user:[email protected]/$uploads_dir/$name");
// save url in your database for later retrieval ...
}
}
hoặc với ftp_put():
<?php
// ...
$ftpCon = ftp_connect('cdn1.example.com')
or die('Could not connect to ftp server');
$uploads_dir = 'images';
foreach ($_FILES["pictures"]["error"] as $key => $error) {
if ($error == UPLOAD_ERR_OK) {
$tmp_name = $_FILES["pictures"]["tmp_name"][$key];
$name = $_FILES["pictures"]["name"][$key];
ftp_put($ftpCon, "$uploads_dir/$name", $tmp_name)
or die("could not upload $name to ftp server");
// save url in your database for later retrieval ...
}
}
Loại tệp nào đang được lưu trữ trên máy chủ phụ? – ExtremeCoder
Cần nhiều thông tin hơn. Loại hệ điều hành nào là các máy chủ đang chạy, bạn có quyền truy cập quản trị vào nó hay không .... –
Cảm ơn nhận xét, Các tệp sẽ được người dùng ứng dụng tải lên. Nó có thể là pdf, doc và hình ảnh. Máy chủ phải dựa trên Linux. Tôi phải có quyền truy cập quản trị bởi vì không có điều đó, có thể không phải là có thể – phpian