Привет, я использую php код для моего скрипта
все работает хорошо, но у меня ошибка при изменении размера файла jpg
imagecreatefromjpeg(): gd-jpeg: JPEG library reports unrecoverable error: Empty input file in /filepath
im newb ie, поэтому, пожалуйста, сообщите мне, как могу ли я отключить изменение размера изображения для устранения этой ошибки и передачи изображения orginall
файл, который я хочу передать, является обычным изображением jpg, но я не знаю, почему я получаю эту ошибку
это пример изображения URL: https://nex1music.ir/upload/2020-04-10/mohsen-chavoshi-ou-2020-04-10-11-00-50.jpg
this is my php file codes
<?php
define('SIGNATURE', 'signature');
define('BASE_URL', 'website');
define('IMG_WIDTH', 450);
define('IMG_HEIGHT', 450);
/* --------------------------------------------------------------------------- */
if ( ! isset($_POST['title'], $_POST['artist'], $_POST['url320kbps'], $_POST['url128kbps'], $_POST['image']))
{
header('HTTP/1.1 400 Bad Request');
exit;
}
$title = $_POST['title'];
$artist = $_POST['artist'];
$url320kbps = $_POST['url320kbps'];
$url128kbps = $_POST['url128kbps'];
$image = $_POST['image'];
set_time_limit(0);
if (is_duplicate($artist, $title))
{
echo json_encode([
'duplicate' => true
]);
exit;
}
/* --------------------------------------------------------------------------- */
require_once 'getid3/getid3.php';
require_once 'getid3/write.php';
require_once 'jdf.php';
$dir = jdate('y/m/d', time());
if ( ! file_exists($dir))
mkdir($dir, 0755, true);
$image_file = "{$dir}/{$artist} - {$title} - ".SIGNATURE.'.jpg';
file_put_contents($image_file, fopen($image, 'r'));
$filename320 = "{$dir}/{$artist} - {$title} - 320 - ".SIGNATURE.'.mp3';
file_put_contents($filename320, fopen($url320kbps, 'r'));
$filename128 = "{$dir}/{$artist} - {$title} - 128 - ".SIGNATURE.'.mp3';
file_put_contents($filename128, fopen($url128kbps, 'r'));
set_id3_tags($filename320, $title, $artist, $image_file, SIGNATURE);
set_id3_tags($filename128, $title, $artist, $image_file, SIGNATURE);
image_resize($image_file, IMG_WIDTH, IMG_HEIGHT);
/* --------------------------------------------------------------------------- */
echo json_encode([
'duplicate' => false,
'url_320' => BASE_URL.$filename320,
'url_128' => BASE_URL.$filename128,
'url_image' => BASE_URL.$image_file
]);
/* --------------------------------------------------------------------------- */
function set_id3_tags($filename, $title, $artist, $image, $signature)
{
$mp3_writter = new getid3_writetags;
$mp3_writter->filename = $filename;
$mp3_writter->tagformats = ['id3v1', 'id3v2.3'];
$mp3_writter->overwrite_tags = true;
$mp3_writter->tag_encoding = 'UTF-8';
$mp3_writter->remove_other_tags = true;
$mp3_data['title'][] = $title;
$mp3_data['artist'][] = $artist;
$mp3_data['album'][] = $signature;
$mp3_data['year'][] = date('Y');
$mp3_data['comment'][] = $signature;
if (file_exists('cover.jpg'))
$image = 'cover.jpg';
$mp3_data['attached_picture'][0]['data'] = file_get_contents($image);
$mp3_data['attached_picture'][0]['picturetypeid'] = 0x03;
$mp3_data['attached_picture'][0]['description'] = $signature;
$mp3_data['attached_picture'][0]['mime'] = 'image/jpeg';
$mp3_writter->tag_data = $mp3_data;
$mp3_writter->WriteTags();
}
function image_resize($filename, $width, $height)
{
$src = imagecreatefromjpeg($filename);
list($w, $h) = getimagesize($filename);
$img = imagecreatetruecolor($width, $height);
imagecopyresampled($img, $src, 0, 0, 0, 0, $width, $height, $w, $h);
imagejpeg($img, $filename, 100);
}
function is_duplicate($artist, $title)
{
$directory = new RecursiveDirectoryIterator('.');
$iterator = new RecursiveIteratorIterator($directory);
$target = $artist . ' - ' . $title;
foreach($iterator as $file) {
if (strpos($file->getFilename(), $target) !== false) {
return true;
}
}
return false;
}