Я пытаюсь отправить файл pdf
на удаленный sftp-сервер, используя cURL
.Сначала я отправил файл csv
, и он был успешно отправлен на сервер с правильным содержимым.Но сейчас я пытаюсь отправить файл pdf
, я отправляю, но его размер составляет 0 kb
.
$ch = curl_init('sftp://' . $sftpServer . ':' . $sftpPort . $sftpRemoteDir . '/' . basename($dataFile));
$fh = fopen($dataFile, 'r');
if ($dataFile) {
curl_setopt($ch, CURLOPT_USERPWD, $sftpUsername . ':' . $sftpPassword);
curl_setopt($ch, CURLOPT_UPLOAD, true);
curl_setopt($ch, CURLOPT_PROTOCOLS, CURLPROTO_SFTP);
curl_setopt($ch, CURLOPT_INFILE, $fh);
curl_setopt($ch, CURLOPT_INFILESIZE, filesize($fh));
curl_setopt($ch, CURLOPT_VERBOSE, true);
$verbose = fopen('php://temp', 'w+');
curl_setopt($ch, CURLOPT_STDERR, $verbose);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($response) {
echo "Success";
} else {
echo "Failure";
rewind($verbose);
$verboseLog = stream_get_contents($verbose);
echo "Verbose information:\n" . $verboseLog . "\n";
}
}
Я узнал, что файл pdf
не может быть открыт с помощью fopen
.Я не уверен, что мне нужна другая функция, похожая на fopen
, для загрузки файла pdf
с его нужным размером и содержанием.Любое возможное решение по этому поводу?