如何将文件名传递给ftp_put函数?

时间:2017-06-23 07:38:30

标签: php

这是一个简单的代码来调整图像大小并将其发送到ftp服务器:

$info = getimagesize($_FILES["personalPhoto"]["tmp_name"]);
$image = imagecreatefromjpeg($_FILES["personalPhoto"]["tmp_name"]);
ob_start();
imagejpeg($image,null, 1);
$resizedImage = ob_get_contents();
ob_end_clean();   


ftp_put($ftpConn,'/Kamil/HostMe/AllImages/'.$fileName.'.jpg',$_FILES["personalPhoto"]["tmp_name"],FTP_BINARY);

ftp_put($ftpConn,'/Kamil/HostMe/AllImages/'.$fileName.'.jpg',$resizedImage,FTP_BINARY);

第一个ftp_put命令工作正常(将原始图像发送到服务器)

应该发送调整大小的图像的第二个ftp_put命令不起作用。任何想法?

1 个答案:

答案 0 :(得分:1)

$resizedImage是PHP变量,而不是物理文件。要解决您的问题,您可以将$resizedImage写入文件,然后将其设置为ftp_put。如:

$file = "/tmp/somefile.jpg";
file_put_contents($file, $resizedImage);
ftp_put(
  $ftpConn,
  '/Kamil/HostMe/AllImages/'.$fileName.'.jpg',
  $file,
  FTP_BINARY
);