header('Content-Type: image/jpeg'); imagejpeg($img); imagedestroy($img);
imagejpeg($img, $new_filename); imagedestroy($img); $url = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; $url = str_replace("i.php", $new_filename, $url); header('Location: '.$url);
вы зря убрали снизу
это как раз тот кусочек кода, который создает на диске файл
зы.
Для правильной работы любых скриптов, связанных с записей/считыванием данных с диска, надо указывать абсолютный путь к файлу. что-то вроде $file_path = $_SERVER['DOCUMENT_ROOT'] . '/filename.txt ';Иначе в работе скриптов появляется очень много неизвестных.
тут дело в том, что любое дерганье скрипта приведет к созданию нового файла. Чтобы этого не было нужно поступить следующим образом
$new_filename = md5( $text ) . ".jpg";
Привязать имя файла к GET запросу и еще можно сделать проверочку вида
//вставить после $text = $_GET['text']; $new_filename = md5($text).".jpg";if ( file_exists( $new_filename )){ $url = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; $url = str_replace("i.php", $new_filename, $url); header('Location: '.$url); die(); /* или любой другой способ прервать выполнение функции, если это функция */}
ну и ессно убрать присвоение имени внизу тогда имя файла будет строго привязано к гет запросу и если запрос повторяется, то файл будет браться сразу с диска пропуская процесс создания. То-есть диск будет работать как кэш.
imagejpeg($img, "1.jpg");
$new_filename = md5( rand( 0,time()) ).".jpg";imagejpeg($img, $new_filename );// ну и соответственно$url = str_replace("i.php", $new_filename, $url);
А вообще надо бы по-хорошему мануалы на пы-хы-пы почитать. АПДПричина сего совета проста. если у вас будет 1 запрос, ок ручками удалите... А если будет 500 000?У вас тупо ляжет сервак из-за переполнения файлового буфера операционной системы. поэтому создавать надо файл в памяти и выдавать его из памяти, а после выполнения скрипта память очищать.
см. первый пример к мануалуhttps://www.php.net/manual/en/function.imagejpeg.php
index = t.parents('.v3').find('div.iw').index( t.parent() );
чёт дохрена она у вас в серверах занимает. Руки, помнится на 7 серверах на выдачу крутились 300к в день спокойно совершенно в пике до млн. + еще несколько стоек для внутренних служб.
(24 гб это копейки. После того, как я всё забросил, я всё скинул на обычный виртуальных хостинг за 400р/мес, где оно спокойно и сидит. А когда проект развивался у меня был арендованный 2U дедик в стойке, а он денежку поджирал. )