• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Загрузка по Ftp после изменения

  • Автор темы RSovets
  • Дата начала
Статус
Закрыто для дальнейших ответов.
R

RSovets

Люди, подскажите пожалуйста.
вот этим кодом я открываю и изменяю картинку и заодно вывожу её на экран.
$size = getimageSize("".$imgus);
$w = $size[0];
$h = $size[1];
$sqr = array(".neizv", "gif", "jpg", "png");
$qqq = $size[2];
if ( $w > $h ) {
$nw = 100;
$nh = $h / ($w / 100);
} else {
$nh = 100;
$nw = $w /($h / 100);
}
if ( $sqr[$qqq] == "gif" ) { $imold = imageCreateFromGIF("".$imgus); }
if ( $sqr[$qqq] == "jpg" ) { $imold = imageCreateFromJPEG("".$imgus); }
if ( $sqr[$qqq] == "png" ) { $imold = imageCreateFromPNG("".$imgus); }

$quality=100;
$imagess = imagecreatetruecolor($nw,$nh);
$floodColor = ImageColorAllocate($imagess,0,0,112);
imageFilledRectangle ($imagess, 0, 0, $width - 1, $height - 1, $floodcolor);
ImageCopyResized ($imagess, $imold, 0, 0, 0, 0, $nw, $nh, $w, $h);

header("Content-type: image/jpeg");
imageInterlace($imagess, 1);
imagejpeg($imagess);
imageJPEG($imagess,"mal/".$imgus,80);

проблема в том что после изменения мне её нужно сохранить по фтп. но у меня это сделать никак не получается B), привык я то что файлы через форму посылаются а иначе не научился, подскажите пожалуйста
если что то картинка эта хранится на сервере в папке в которой запущен скрипт и имя картинки передается в переменную $imgus значение например "2.jpg"
 
G

GOsha

Короче тебе нужно сохранить ресайзованное изображение?
 
R

RSovets

Ага. просто через форму получается а так... нет :(. подскажите как пллз...
 
G

GOsha

Создаешь файл, как и обычный текстовый.

$data = imagegif ($img);

дальше пишешь data в файл.
 
R

RSovets

приведу полный код...
поправьте пожалуйста.
пример только для jpg, для остальных сам поправлю, тоесть вызывается скрипт с таким параметром ?imgus=2.jpg
<?
$size = getimageSize("".$imgus);
$w = $size[0];
$h = $size[1];
$sqr = array(".neizv", "gif", "jpg", "png");
$qqq = $size[2];
if ( $w > $h ) {
$nw = 100;
$nh = $h / ($w / 100);
} else {
$nh = 100;
$nw = $w /($h / 100);
}
if ( $sqr[$qqq] == "gif" ) { $imold = imageCreateFromGIF("".$imgus); }
if ( $sqr[$qqq] == "jpg" ) { $imold = imageCreateFromJPEG("".$imgus); }
if ( $sqr[$qqq] == "png" ) { $imold = imageCreateFromPNG("".$imgus); }

$quality=100;
$imagess = imagecreatetruecolor($nw,$nh);
$floodColor = ImageColorAllocate($imagess,0,0,112);
imageFilledRectangle ($imagess, 0, 0, $width - 1, $height - 1, $floodcolor);
ImageCopyResized ($imagess, $imold, 0, 0, 0, 0, $nw, $nh, $w, $h);

$data = imagejpeg($imagess);

$ftp_server = "***"; //Ваш адрес
$ftp_user_name = "***"; // Логин от ftp
$ftp_user_pass = "***"; // Пароль
$conn_id = ftp_connect($ftp_server);
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

$destination_file_bol = $data;

if ((!$conn_id) || (!$login_result)) {
echo "FTP соединение не прошло!<br>";
echo "Attempted to connect to $ftp_server for user
$ftp_user_name<br>";
exit;
} else {
echo "Соединение с $ftp_server, и логином - $ftp_user_name<br><hr width=100%>";
}

$adressok = "domains/***/public_html/foto/";
if (ftp_chdir($conn_id,$adressok))
{
echo "Директория магазина выбрана.<br>";
}
else
{
if (ftp_mkdir($conn_id, $adressok))
{
ftp_chdir($conn_id,$adressok);
}
else
{
echo "Не удалось создать папку $adressok\n<br>";
}
}
/* $dfile = fopen($destination_file_bol, 'r');
if (!$dfile)
{
die("Не удается открыть тмп'шный файл - $destination_file_bol!");
} else {
echo "$destination_file_bol Временный файл создан.<br>";
}
*/
$remote_file = "22.jpg";
$handle = fopen($imgus, 'r');
$upload = ftp_fget($conn_id, $handle, $remote_file, FTP_BINARY);
if (!$upload) {
echo "FTP upload has failed!";
} else {
echo "Файл $source_file_bol загружен на $ftp_server<hr width=100%>";
}
ftp_close($conn_id);
?>
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!