X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

3 страниц V   1 2 3 >
Открыть тему
Тема закрыта
> Переадресация
andrey_94
andrey_94
Topic Starter сообщение 12.11.2009, 22:54; Ответить: andrey_94
Сообщение #1


Есть скрипт который загружает и уменьшает размер фоток.

[PHP]<?php
session_start();

$user = $_SESSION["login"];

include ("blocks/db.php");

// Каталог, в который мы будем принимать файл:
$photo_dir = 'photo/';
$photo_small_dir = 'photo/small/';

// Переменные содержащие дату и имя файла, служащие в дальнейшем для составления общего имени файла
$date = date("d-m-Y");

// Переменные которые содержат пути к файлам
$photo = $photo_dir .$date .'-' .basename($_FILES['uploadfile']['name']);
$photo_small = $photo_small_dir .$date .'-' .basename($_FILES['uploadfile']['name']);

// Переменные для заноса в БД
$photo_base_path = $date .'-' .basename($_FILES['uploadfile']['name']);
$photo_base_path_mini = $date .'-' .'small' .'-' .basename($_FILES['uploadfile']['name']);

// Проверка на то что файл загружен в папку $photo_dir
$move = move_uploaded_file($_FILES['uploadfile']['tmp_name'], $photo);
if ($move == true)

{
header('Content-type: image/jpeg');

$percent = 2;
list($width, $height) = getimagesize($photo);
$new_width = 120;
$new_height = 163;


$image_p = imagecreatetruecolor($new_width, $new_height);
$image = imagecreatefromjpeg($photo);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);

imagejpeg($image_p, null, 100); //вывод в браузер

imagejpeg($image_p, $photo_small, 100); // сохранить

$query = mysql_query ("UPDATE users SET avatar='$photo_small' WHERE login='$user'",$connect);

echo "<script type='text/javascript'>
document.location.href = 'index.php';
</script>";

}

else
{
echo "Ошибка загрузки файла";
}




?> [/PHP]

Применяю к нему в конце выполнения переадресацию на javascript, но она не работает....
Как еще можно сделать рабочую переадресацию?
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Witu
Witu
сообщение 12.11.2009, 23:52; Ответить: Witu
Сообщение #2


header("location: _куда_");

я где то на форуме выкладывал ссылку на нарытый ресайзер картинок и он работает куда лучше чем этот
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
andrey_94
andrey_94
Topic Starter сообщение 12.11.2009, 23:53; Ответить: andrey_94
Сообщение #3


(HTMLandPHP @ 13.11.2009, 01:52) *
header("location: _куда_");

я где то на форуме выкладывал ссылку на нарытый ресайзер картинок и он работает куда лучше чем этот


все равно не происходит переадресация
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
namreg
namreg
сообщение 13.11.2009, 3:05; Ответить: namreg
Сообщение #4


(andrey_94 @ 13.11.2009, 00:54) *
Есть скрипт который загружает и уменьшает размер фоток.

[php]<?php
session_start();

$user = $_SESSION["login"];

include ("blocks/db.php");

// Каталог, в который мы будем принимать файл:
$photo_dir = 'photo/';
$photo_small_dir = 'photo/small/';

// Переменные содержащие дату и имя файла, служащие в дальнейшем для составления общего имени файла
$date = date("d-m-Y");

// Переменные которые содержат пути к файлам
$photo = $photo_dir .$date .'-' .basename($_FILES['uploadfile']['name']);
$photo_small = $photo_small_dir .$date .'-' .basename($_FILES['uploadfile']['name']);

// Переменные для заноса в БД
$photo_base_path = $date .'-' .basename($_FILES['uploadfile']['name']);
$photo_base_path_mini = $date .'-' .'small' .'-' .basename($_FILES['uploadfile']['name']);

// Проверка на то что файл загружен в папку $photo_dir
$move = move_uploaded_file($_FILES['uploadfile']['tmp_name'], $photo);
if ($move == true)

{
header('Content-type: image/jpeg');

$percent = 2;
list($width, $height) = getimagesize($photo);
$new_width = 120;
$new_height = 163;


$image_p = imagecreatetruecolor($new_width, $new_height);
$image = imagecreatefromjpeg($photo);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);

imagejpeg($image_p, null, 100); //вывод в браузер

imagejpeg($image_p, $photo_small, 100); // сохранить

$query = mysql_query ("UPDATE users SET avatar='$photo_small' WHERE login='$user'",$connect);

echo "<script type='text/javascript'>
document.location.href = 'index.php';
</script>";

}

else
{
echo "Ошибка загрузки файла";
}




?> [/php]Применяю к нему в конце выполнения переадресацию на javascript, но она не работает....
Как еще можно сделать рабочую переадресацию?

может попробовать буферезированный вывод и header()?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Merlin_hb
Merlin_hb
сообщение 13.11.2009, 3:27; Ответить: Merlin_hb
Сообщение #5


мдя такой подход не оправдан - оптимально хранить две копии изображения - уменьшать при загрузке причем - тут получается что все грузится в буфер и вываливается пользователю + база данных и прочее особенно затратными будут апдейты.

Оптимально две версии файла - ../a.jpg и ../b/a.jpg и выводить в зависимости от файла + если файл не обнаружен выводить - картинка не найдена.

А вобще у вас ошибка в запросе :sarcastic:
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
andrey_94
andrey_94
Topic Starter сообщение 13.11.2009, 15:05; Ответить: andrey_94
Сообщение #6


(Merlin_hb @ 13.11.2009, 05:27) *
мдя такой подход не опвдан - оптимально хранить две копии изображения - уменьшать при загрузке причем - тут получается что все грузится в буфер и вываливается пользователю + база данных и прочее особенно затратными будут апдейты.

Оптимально две версии файла - ../a.jpg и ../b/a.jpg и выводить в зависимости от файла + если файл не обнаружен выводить - картинка не найдена.

А вобще у вас ошибка в запросе :sarcastic:


Так у меня две версии файла
[php]$photo = $photo_dir .$date .'-' .basename($_FILES['uploadfile']['name']);
$photo_small = $photo_small_dir .$date .'-' .basename($_FILES['uploadfile']['name']);

[/php]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Witu
Witu
сообщение 13.11.2009, 16:26; Ответить: Witu
Сообщение #7


andrey_94, рас header("location: ");
не работает значит гдето ошибочки
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
andrey_94
andrey_94
Topic Starter сообщение 14.11.2009, 1:20; Ответить: andrey_94
Сообщение #8


(HTMLandPHP @ 13.11.2009, 18:26) *
andrey_94, рас header("location: ");
не работает значит гдето ошибочки


ГДЕ?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
andrey_94
andrey_94
Topic Starter сообщение 14.11.2009, 6:25; Ответить: andrey_94
Сообщение #9


Люди... помогите пожалуйста... как переадресацию здесь сделать?
очень надо
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Licoric
Licoric
сообщение 14.11.2009, 6:44; Ответить: Licoric
Сообщение #10


<meta http-equiv='refresh' content='3; url=link.php'>

3 - время до редиректа.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
3 страниц V   1 2 3 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


 



RSS Текстовая версия Сейчас: 28.3.2024, 13:57
Дизайн