Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: создание уменьшенной копии картинки

Сообщения:  [1-10]   [11-17] 

 
 автор: cheops   (18.03.2011 в 20:47)   письмо автору
 
   для: kvins   (18.03.2011 в 20:31)
 

>а толькот еще 1 вопрос , а полностью менять название можно?
Конечно.
> или php разницы нет выводить название из 20 букв или пару цифр
Ему все-равно, но следите, чтобы у вас названия не перезатирали друг дружку, если такой файл существует, а вы на его место записываете другой, то старый файл исчезнет без предупреждения.

>кстати imagedestroy он удаляет информацию о файле?
Он удаляет память, которая была выделена на работу с файлом библиотекой GDLib. Можете не заморачиваться, она будет автоматически возвращена в систему после того, как ваш скрипт завершит работу.

  Ответить  
 
 автор: kvins   (18.03.2011 в 20:31)   письмо автору
 
   для: cheops   (18.03.2011 в 20:06)
 

ураа прям в точку =)
все появилось у меня 2 одинаковых файла с разными именами

а толькот еще 1 вопрос , а полностью менять название можно? или php разницы нет выводить название из 20 букв или пару цифр

кстати imagedestroy он удаляет информацию о файле? что то я не понял что мне удалять $way1 $way2 ? так он вроде тока принемает значение
$way2 = "avatar/small_$name";

или то что попало в глобальный масив $_files

  Ответить  
 
 автор: cheops   (18.03.2011 в 20:06)   письмо автору
 
   для: kvins   (18.03.2011 в 20:01)
 

Нет, нужно как-то так
 if(copy ("avatar/$name", "avatar/small_$name"))

  Ответить  
 
 автор: kvins   (18.03.2011 в 20:04)   письмо автору
 
   для: kvins   (18.03.2011 в 20:01)
 

наверно сначала копию нужно тоже в папку сохранить? или она автоматически должна появится там же где предыдущая

  Ответить  
 
 автор: kvins   (18.03.2011 в 20:01)   письмо автору
 
   для: cheops   (18.03.2011 в 19:23)
 

  if(copy ("avatar/small_$name", $way2)) 
так? или я не правильно создаю имя?

Warning: copy(avatar/small_баскет.jpg) failed to open stream: No such file or directory in C:\denwer\www\denwer\Tools\crop\text.php on line 60
Все плохо

  Ответить  
 
 автор: cheops   (18.03.2011 в 19:23)   письмо автору
 
   для: kvins   (18.03.2011 в 19:04)
 

>$way2 = $temp;
>if(copy ("avatar/$name", $way2))
А зачем из "avatar/$name" копировать файл обратно во временную директорию (его от туда сборщик мусора удалит)? Для нового файла нужно создать по аналогии с "avatar/$name" какое-то новое имя, например, так "avatar/small_$name".

  Ответить  
 
 автор: kvins   (18.03.2011 в 19:04)   письмо автору
 
   для: cheops   (18.03.2011 в 17:55)
 

да это я забыл дописать , просто я перенес этот код в отдельный файл

написал в вашем коде перед
$way2 = $temp;
if(copy ("avatar/$name", $way2))


теперь пишет все хорошо
потом пробую так echo "<img id='lady' src='$way2'>"; , а как вывести картинку на экран если я передал только $_FILES['upload']['tmp_name']; а получается что ему еще имя надо передать потому что предыдущюю картинку я показывал так
$way = "avatar/$name";
echo "<img id='ladybug' src='$way'>";
а в copy никакое имя не указано

  Ответить  
 
 автор: cheops   (18.03.2011 в 17:55)   письмо автору
 
   для: kvins   (18.03.2011 в 17:43)
 

Во-первых у вас должен быть только один вызов copy(), во-вторых лучше его применять уже после move_uploaded_file(), не все системы позволяют использовать copy() применительно к файлам из временной директории
<?php
if (isset($_POST['send'])) 

$name $_FILES['upload']['name']; 
    
$temp $_FILES['upload']['tmp_name']; 
     
$type $_FILES['upload']['type']; 
    
$size $_FILES['upload']['size']; 
     
list(
$width$height$type$attr) = getimagesize($temp);  
$type intval($type); 
 if(
$type <= 0)  {exit("Загружен какой-то левый формат"); } 
else { 
if (
$size <= 4000000) {  
if(
is_uploaded_file($temp)) { 
                     
move_uploaded_file ($temp,"avatar/$name"); 
$way "avatar/$name"
echo 
"<img id='ladybug' src='$way'>"
        if(
copy ("avatar/$name"$way2)) echo "Все хорошо"
 else echo 
"Все плохо"
echo 
"<img id='lady' src='$way2'>"


else {echo 
"фото не загружено";} 

    }
...
?>
Кстати, где у вас формируется переменная $way2? Вы куда файл копируете?

  Ответить  
 
 автор: kvins   (18.03.2011 в 17:43)   письмо автору
 
   для: cheops   (18.03.2011 в 17:27)
 

все ужасно =)
может код не в той последовательности ?
немного лишнее что ниже else убрал

<?
if (isset($_POST['send']))
{
$name $_FILES['upload']['name'];
    
$temp $_FILES['upload']['tmp_name'];
     
$type $_FILES['upload']['type'];
    
$size $_FILES['upload']['size'];
    
list(
$width$height$type$attr) = getimagesize($temp); 
$type intval($type);
 if(
$type <= 0)  {exit("Загружен какой-то левый формат"); }
else {
if (
$size <= 4000000) { 
if(
is_uploaded_file($temp)) {
                    
copy ($temp$way2);
        if(
copy ($temp$way2)) echo "Все хорошо";
 else echo 
"Все плохо";

echo 
"<img id='lady' src='$way2'>";
move_uploaded_file ($temp,"avatar/$name");
$way "avatar/$name";
echo 
"<img id='ladybug' src='$way'>";
}
else {echo 
"фото не загружено";}

    }

  Ответить  
 
 автор: cheops   (18.03.2011 в 17:27)   письмо автору
 
   для: kvins   (18.03.2011 в 17:19)
 

Примерно так
<?php
  
...
  if(
copy ($temp$way2)) echo "Все хорошо";
  else echo 
"Все плохо";
  ...
?>

  Ответить  

Сообщения:  [1-10]   [11-17] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования