не работает автоматическое изменение размера загруженного изображения

Этот метод позволяет загружать php-файл и изображения, после того, как вы изменили его так, чтобы изображения были созданы, он больше не работал и появилась ошибка:

Предупреждение: imagecreatefromjpeg (C: \ xampp \ tmp \ php8ED3.tmp): не удалось открыть поток: нет такого файла или каталога в C: \ xampp \ htdocs \ bconocimiento \ controller \ solucion.controller.php в строке 220

Предупреждение: getimagesize (C: \ xampp \ tmp \ php8ED3.tmp): не удалось открыть поток: нет такого файла или каталога в C: \ xampp \ htdocs \ bconocimiento \ controller \ solucion.controller.php в строке 221

Предупреждение: imagecopyresampled () ожидает, что параметр 2 будет ресурсным, логическое значение указано в C: \ xampp \ htdocs \ bconocimiento \ controller \ solucion.controller.php в строке 227

Предупреждение: imagecreatefromjpeg (C: \ xampp \ tmp \ php8F24.tmp): не удалось открыть поток: нет такого файла или каталога в C: \ xampp \ htdocs \ bconocimiento \ controller \ solucion.controller.php в строке 220

Предупреждение: getimagesize (C: \ xampp \ tmp \ php8F24.tmp): не удалось открыть поток: нет такого файла или каталога в C: \ xampp \ htdocs \ bconocimiento \ controller \ solucion.controller.php в строке 221

Предупреждение: imagecopyresampled () ожидает, что параметр 2 будет ресурсным, логическое значение указано в C: \ xampp \ htdocs \ bconocimiento \ controller \ solucion.controller.php в строке 227

Предупреждение: imagecreatefromjpeg (C: \ xampp \ tmp \ php8F2F.tmp): не удалось открыть поток: нет такого файла или каталога в C: \ xampp \ htdocs \ bconocimiento \ controller \ solucion.controller.php в строке 220

Предупреждение: getimagesize (C: \ xampp \ tmp \ php8F2F.tmp): не удалось открыть поток: нет такого файла или каталога в C: \ xampp \ htdocs \ bconocimiento \ controller \ solucion.controller.php в строке 221

Предупреждение: imagecopyresampled () ожидает, что параметр 2 будет ресурсным, логическое значение указано в C: \ xampp \ htdocs \ bconocimiento \ controller \ solucion.controller.php в строке 227

Предупреждение: imagecreatefromjpeg (C: \ xampp \ tmp \ php8F44.tmp): не удалось открыть поток: нет такого файла или каталога в C: \ xampp \ htdocs \ bconocimiento \ controller \ solucion.controller.php в строке 220

Предупреждение: getimagesize (C: \ xampp \ tmp \ php8F44.tmp): не удалось открыть поток: нет такого файла или каталога в C: \ xampp \ htdocs \ bconocimiento \ controller \ solucion.controller.php в строке 221

Предупреждение: imagecopyresampled () ожидает, что параметр 2 будет ресурсным, логическое значение указано в C: \ xampp \ htdocs \ bconocimiento \ controller \ solucion.controller.php в строке 227

Предупреждение: imagecreatefromjpeg (C: \ xampp \ tmp \ php8F45.tmp): не удалось открыть поток: нет такого файла или каталога в C: \ xampp \ htdocs \ bconocimiento \ controller \ solucion.controller.php в строке 220

Предупреждение: getimagesize (C: \ xampp \ tmp \ php8F45.tmp): не удалось открыть поток: нет такого файла или каталога в C: \ xampp \ htdocs \ bconocimiento \ controller \ solucion.controller.php в строке 221

Предупреждение: imagecopyresampled () ожидает, что параметр 2 будет ресурсным, логическое значение указано в C: \ xampp \ htdocs \ bconocimiento \ controller \ solucion.controller.php в строке 227

Предупреждение: imagecreatefromjpeg (C: \ xampp \ tmp \ php8F50.tmp): не удалось открыть поток: нет такого файла или каталога в C: \ xampp \ htdocs \ bconocimiento \ controller \ solucion.controller.php в строке 220

Предупреждение: getimagesize (C: \ xampp \ tmp \ php8F50.tmp): не удалось открыть поток: нет такого файла или каталога в C: \ xampp \ htdocs \ bconocimiento \ controller \ solucion.controller.php в строке 221

Предупреждение: imagecopyresampled () ожидает, что параметр 2 будет ресурсным, логическое значение указано в C: \ xampp \ htdocs \ bconocimiento \ controller \ solucion.controller.php в строке 227

Предупреждение: imagecreatefromjpeg (C: \ xampp \ tmp \ php8FDD.tmp): не удалось открыть поток: нет такого файла или каталога в C: \ xampp \ htdocs \ bconocimiento \ controller \ solucion.controller.php в строке 220

Предупреждение: getimagesize (C: \ xampp \ tmp \ php8FDD.tmp): не удалось открыть поток: нет такого файла или каталога в C: \ xampp \ htdocs \ bconocimiento \ controller \ solucion.controller.php в строке 221

Предупреждение: imagecopyresampled () ожидает, что параметр 2 будет ресурсным, логическое значение указано в C: \ xampp \ htdocs \ bconocimiento \ controller \ solucion.controller.php в строке 227

Предупреждение: imagecreatefromjpeg (C: \ xampp \ tmp \ php8FE8.tmp): не удалось открыть поток: нет такого файла или каталога в C: \ xampp \ htdocs \ bconocimiento \ controller \ solucion.controller.php в строке 220

Предупреждение: getimagesize (C: \ xampp \ tmp \ php8FE8.tmp): не удалось открыть поток: нет такого файла или каталога в C: \ xampp \ htdocs \ bconocimiento \ controller \ solucion.controller.php в строке 221

Предупреждение: imagecopyresampled () ожидает, что параметр 2 будет ресурсным, логическое значение указано в C: \ xampp \ htdocs \ bconocimiento \ controller \ solucion.controller.php в строке 227

Предупреждение: imagecreatefromjpeg (C: \ xampp \ tmp \ php9011.tmp): не удалось открыть поток: нет такого файла или каталога в C: \ xampp \ htdocs \ bconocimiento \ controller \ solucion.controller.php в строке 220

Предупреждение: getimagesize (C: \ xampp \ tmp \ php9011.tmp): не удалось открыть поток: нет такого файла или каталога в C: \ xampp \ htdocs \ bconocimiento \ controller \ solucion.controller.php в строке 221

Предупреждение: imagecopyresampled () ожидает, что параметр 2 будет ресурсным, логическое значение указано в C: \ xampp \ htdocs \ bconocimiento \ controller \ solucion.controller.php в строке 227

Предупреждение: невозможно изменить информацию заголовка — заголовки уже отправлены (вывод начался с C: \ xampp \ htdocs \ bconocimiento \ controller \ solucion.controller.php: 221) в C: \ xampp \ htdocs \ bconocimiento \ controller \ solucion.controller. PHP на линии 236

public function Guardar()
{


$solucion = new solucion();
$tamaño = $_FILES['Pagina']['size'];
$tipo = $_FILES['Pagina']['type'];

$ruta = "";
if ($_REQUEST['Tipo'] == "software")
{
$ruta = "view/software/";
}
if ($_REQUEST['Tipo'] == "hardware")
{
$ruta = "view/hardware/";
}
if ($_REQUEST['Tipo'] == "red")
{
$ruta = "view/red/";
}


opendir($ruta);
$archivo_name = $_FILES['Pagina']['name'];
$extension = explode(".", $archivo_name);
$num = count($extension) - 1;
if ($extension[$num] == "php" || $extension[$num] == "html")
{

$destino = $ruta . $_FILES['Pagina']['name'];
copy($_FILES['Pagina']['tmp_name'], $destino);
$solucion->id = $_REQUEST['id'];

$solucion->Nombre = $_REQUEST['Nombre'];
$solucion->Tipo = $_REQUEST['Tipo'];
$solucion->Descripcion = $_REQUEST['Descripcion'];

$solucion->Pagina = $_FILES['Pagina']['name'];

if ($solucion->id > 0)
{
$this->model->Actualizar($solucion, $_REQUEST['id']);
}
else
{
$this->model->Registrar($solucion);
}
}
$nuevacarpeta = $solucion->Pagina;
$directorio = "";
$ubicaion = $solucion->Tipo;
if ($ubicaion == "software")
{
$directorio = "view/software/imagenes/" . $nuevacarpeta . "/";
}
if ($ubicaion == "hardware")
{
$directorio = "view/hardware/imagenes/" . $nuevacarpeta . "/";
}
if ($ubicaion == "red")
{
$directorio = "view/red/imagenes/" . $nuevacarpeta . "/";
}


foreach ($_FILES["archivo"]['tmp_name'] as $key => $tmp_name)
{

if ($_FILES["archivo"]["name"][$key])
{
$filename = $_FILES["archivo"]["name"][$key];
$source = $_FILES["archivo"]["tmp_name"][$key];




if (!file_exists($directorio))
{
mkdir($directorio, 0777) or die("No se puede crear el directorio de extracción");
}

$dir = opendir($directorio);
$target_path = $directorio . $filename;

if ($_FILES["archivo"]["type"][$key] == "image/jpeg" || $_FILES["archivo"]["type"][$key] == "image/png" || $_FILES["archivo"]["type"][$key] == "image/jpg" || !file_exists($target_path))
{
$result =move_uploaded_file($source, $target_path);
// autoresize image
$orig_image = imagecreatefromjpeg($source);
$image_info = getimagesize($source);
$width_orig  = $image_info[0]; // current width as found in image file
$height_orig = $image_info[1]; // current height as found in image file
$width = 968; // new image width
$height = 681; // new image height
$destination_image = imagecreatetruecolor($width, $height);
imagecopyresampled($destination_image, $orig_image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
imagejpeg($destination_image, $target_path, 100);
// autoresize image
}


closedir($dir);
}
}
header("Location: index.php");
}

он сохраняется в базе данных Name, Type, Description и Page, но папка с изображениями не создается там, где создается папка с именем Page, где сохраняются изображения, что я должен изменить, чтобы метод снова заработал?

0

Решение

Как только вы запустите

$result =move_uploaded_file($source, $target_path);

файл больше не находится в $source то есть C:\xampp\tmp\php8ED3.tmp

Он перемещен в $target_path и удален из $source

Так что используйте $target_path во всем следующем коде, как

$orig_image = imagecreatefromjpeg($target_path);
$image_info = getimagesize($target_path);
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector