我想创建一个提供html内容的应用服务器,其中包含指向其他域上其他服务器所服务的静态图像的链接。用户通过应用程序服务器上传图像。
这是我将JPEG文件上传到应用服务器的方法:
if(!file_exists("folder_name")) mkdir("folder_name", 0770);
$temp_file = $_FILES['image']['tmp_name'];
$im = imagecreatefromjpeg($temp_file);
$destination = "folder_name/file_name.jpg";
imagejpeg($im, $destination);
imagedestroy($im);
如果我要将文件上传到另一台服务器,如何更改代码?
添加注释:如果文件夹不存在,则即时创建文件夹。
答案 0 :(得分:17)
主要取决于你可以使用什么。
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
ssh2_scp_send($connection, '/local/filename', '/remote/filename', 0644);
PHP手册:function.ssh2-scp-send.php
$file = 'somefile.txt';
$remote_file = 'readme.txt';
// set up basic connection
$conn_id = ftp_connect("ftp.example.com");
// login with username and password
$login_result = ftp_login($conn_id, "username", "password");
// upload a file
if (ftp_put($conn_id, $remote_file, $file, FTP_ASCII)) {
echo "successfully uploaded $file\n";
} else {
echo "There was a problem while uploading $file\n";
}
// close the connection
ftp_close($conn_id);
PHP手册:function.ftp-put.php
这更像是另一台服务器看到的真实网络浏览器行为:
您可以使用socket_connect();
和socket_write();
,我稍后会添加更多相关信息。