Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Загрузка фото на сайт рядом действий на неё PHP, Переименование фото при загрузке на сайт 
V
    Опции темы
savmp
Дата 27.7.2009, 13:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 260
Регистрация: 27.7.2009
Где: Геленджик

Репутация: -13
Всего: -16



Здравствуйте!

Есть такая проблема!
Нужен PHP скрипт который в принципе лёгкий но при совмещении становится вполне проблематичным!

Существует 2 папки LOADS и  FILES
В папке LOADS должно быть четыре файла:
LOADS-001.PHP
LOADS-002.PHP
FILES-001.DAT
FILES-001.GIF

В папке FILES должно быть три фотографии *.jpg:

LOADS-001.PHP – в этом файле находится форма отправки:
<form action='loads-002.php' method='post'>
<input type='text'  size='20' maxlength='100'> // комментарий к файлу
<input type='file'  value='30000' >
<input type='submit' value='Загрузить' >
</form>

LOADS-002.PHP – в этом файле находится обработчик:

Как сделать так, что бы:
1.    Менялось название загружаемой фотографии к примеру (с «фото.jpg» на временную дату «874657782783.jpg») и с таким именем сохранялось на сайте.
2.    При этом это же название фото и (<input type='text'  size='20' maxlength='100'> // комментарий к файлу) сохранялись в FILES-001.DAT в виде (874657782783#моя фотография… тоесть сам комментарий) то есть запись через рещётку.
3.    Нужно ещё, чтобы менялось разрешение фото на 604*453 то есть если загружали фото размером 1600 на 1200 она сохранилась с разрешением 604 на 453.
4.    При этом нужно наложить «водный знак» на фото (604*453) налажилась картинка (FILES-001.GIF) размером 80 на 80 пикселей в нижнем правом углу.
5.    При загрузки фото должно быть ограничение в закачке (не больше 3 мегабайт и только *.jpg).
6.    После завершения закачки выводится информация о файле: (размер, разрешение, и комментарий к фото).


Прошу помогите мне… очень нуждаюсь в этом скрипте!

PM MAIL ICQ   Вверх
del3d
Дата 27.7.2009, 13:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 128
Регистрация: 13.11.2007

Репутация: нет
Всего: нет



В любой книге по PHP описаны все 6 шагов. В инете куча статей..
и вооще, задавай один вопрос..
Вот, изучай..
PM MAIL   Вверх
savmp
Дата 27.7.2009, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 260
Регистрация: 27.7.2009
Где: Геленджик

Репутация: -13
Всего: -16



Да я знаю все эти 6 шагов… но как их обледенить в один скрипт?
Я же и говорю, что это простой на первый взгляд скрипт, НО НЕ каждый сможет его написать!
PM MAIL ICQ   Вверх
Ипатьев
Дата 27.7.2009, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



Скрипт не простой. 
Шаги ты эти не знаешь. 
Делай по порядку и задавай по ходу действия вопросы. 
Писать тебе его целиком не думаю, что кто-то возьмется. 

Объединить все шаги в одном скрипте - самое простое. Куда сложнее эти щаги реализовать. Но если ты в этом скрипте "очень нуждаешься", то не мешкая приступай к написанию.
Первый пункт у тебя готов?



PM MAIL   Вверх
MoLeX
Дата 27.7.2009, 14:07 (ссылка) |  (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 46
Всего: 140



Цитата(savmp @  27.7.2009,  13:25 Найти цитируемый пост)
НО НЕ каждый сможет его написать! 

Оо

за мани-мани - напишем  smile 


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
savmp
Дата 27.7.2009, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 260
Регистрация: 27.7.2009
Где: Геленджик

Репутация: -13
Всего: -16



Цитата

Первый пункт у тебя готов?


Нет... я только в теории его знаю...
PM MAIL ICQ   Вверх
Ипатьев
Дата 27.7.2009, 14:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



Ну прекрасно. Осталось претворить теорию в практику.
Непонятно, в чем у тебя проблема.


PM MAIL   Вверх
savmp
Дата 27.7.2009, 14:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 260
Регистрация: 27.7.2009
Где: Геленджик

Репутация: -13
Всего: -16



Сможешь мне написать PHP скрипт закачки файла с переименованием его именем  на временную дату?

Добавлено через 2 минуты и 26 секунд
Загрузка файлов методом POST

<form enctype="multipart/form-data" action="_URL_" method="post">
 <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
 Отправить этот файл: <input name="userfile" type="file" />
 <input type="submit" value="Send File" />
</form>

Это я знаю.
PM MAIL ICQ   Вверх
Ипатьев
Дата 27.7.2009, 14:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



Чем тебя не устроил скрипт по ссылке от del3d?
Делать надо все постепенно. Сначала хотя бы без переименования. 
Потом делать плучение "временной даты" (не знаю, что это значит), потом формирование имени файла с этой датой и расширением .jpg, а потом подстановку в move_uploaded_file


PM MAIL   Вверх
savmp
Дата 27.7.2009, 14:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 260
Регистрация: 27.7.2009
Где: Геленджик

Репутация: -13
Всего: -16



Цитата

"временной даты" (не знаю, что это значит)


Это дата записанная в милисекундах. Типа 21.07.2009 15:39:40 можно записать как 43543565209859938 типа такого.
PM MAIL ICQ   Вверх
fesor
Дата 27.7.2009, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 16.7.2009
Где: Минск

Репутация: 4
Всего: 4



Ну можно конечно сделать вот так:
Код

/**
* bool Upload( string $input, string $saveas[,  int $limit ])
* @ $input - переменная содержит название поля с файлом
* @ $saveas - путь и имя файла для сохранения
* @ $limit - лимит по "весу" файла (по умолчанию в 10 метров)
**/
function upload($input, $saveasб $limit=10000)
{
    if(!isset($_FILE[$input]))
        return false;
    if($_FILE[$input]['size'] > intval($_POST['MAX_FILE_SIZE']))
        return false;
    if(strtolower(substr($_FILE['ufile']['name'], -4)) == '.jpg')
        return false;
    //Собственно загрузка
    return move_uploaded_file ( $_FILE[$input]['tmp_name'] , $saveas ); //Выведет true если удалось
   
}




Для получения \этой самой "временной даты" проще использовать обычный UNIX TIMESTAMP, тобиш команду time(). Ну или если извращенец - 
Код

round(microtime(1), 3)*1000;


Это сообщение отредактировал(а) fesor - 27.7.2009, 14:44
PM MAIL WWW   Вверх
Ипатьев
Дата 27.7.2009, 14:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



В дате вида "21.07.2009 15:39:40" нет миллисекунд. Только секунды.

Переименование получилось, переходим к следующему этапу?

Добавлено @ 14:54
fesor, проверка if($_FILE[$input]['size'] > intval($_POST['MAX_FILE_SIZE'])) ненадежна. И, к тому же, никогда не выполнится - если размер файла превысит MAX_FILE_SIZE, то функция вылетит еще на первой проверке.
Я бы сравнивал с константой, зашитой в скрипте.
Но самое смешное, что проверка размера файла и вовсе не имеет смысла, поскольку будет меняться разрешение.

Это сообщение отредактировал(а) Ипатьев - 27.7.2009, 14:54
PM MAIL   Вверх
fesor
Дата 27.7.2009, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 16.7.2009
Где: Минск

Репутация: 4
Всего: 4



Ну так есть же функция microtime у которой есть милисекунды)) с помощью ентой штуковины реально сделать более мение уникатольно имя файла.

p.s. По поводу проверки это да, просто забыл подправить)) оно по $limit Должно смотреть)

Это сообщение отредактировал(а) fesor - 27.7.2009, 14:59
PM MAIL WWW   Вверх
miroplan
Дата 20.10.2009, 00:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 7.9.2009

Репутация: нет
Всего: нет



Цитата(savmp @ 27.7.2009,  13:07)
Здравствуйте!

Есть такая проблема!
Нужен PHP скрипт который в принципе лёгкий но при совмещении становится вполне проблематичным!

Существует 2 папки LOADS и  FILES
В папке LOADS должно быть четыре файла:
LOADS-001.PHP
LOADS-002.PHP
FILES-001.DAT
FILES-001.GIF

В папке FILES должно быть три фотографии *.jpg:

LOADS-001.PHP – в этом файле находится форма отправки:
<form action='loads-002.php' method='post'>
<input type='text'  size='20' maxlength='100'> // комментарий к файлу
<input type='file'  value='30000' >
<input type='submit' value='Загрузить' >
</form>

LOADS-002.PHP – в этом файле находится обработчик:

Как сделать так, что бы:
1.    Менялось название загружаемой фотографии к примеру (с «фото.jpg» на временную дату «874657782783.jpg») и с таким именем сохранялось на сайте.
2.    При этом это же название фото и (<input type='text'  size='20' maxlength='100'> // комментарий к файлу) сохранялись в FILES-001.DAT в виде (874657782783#моя фотография… тоесть сам комментарий) то есть запись через рещётку.
3.    Нужно ещё, чтобы менялось разрешение фото на 604*453 то есть если загружали фото размером 1600 на 1200 она сохранилась с разрешением 604 на 453.
4.    При этом нужно наложить «водный знак» на фото (604*453) налажилась картинка (FILES-001.GIF) размером 80 на 80 пикселей в нижнем правом углу.
5.    При загрузки фото должно быть ограничение в закачке (не больше 3 мегабайт и только *.jpg).
6.    После завершения закачки выводится информация о файле: (размер, разрешение, и комментарий к фото).


Прошу помогите мне… очень нуждаюсь в этом скрипте!

 smile --- пользуйся сынок делай папку izobrajenia klienta в базе msql там разберюся....

--------------------------

 Посмотреть как работает можеш по етому адресу..... http://saitsait.tu2.ru/forum.php

-----------------------------------------------------------------------------------------------------------------------------
Главная страница 
---------
Код

<?  include ('baza.php');    ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta name="keywords" content="форум,куплю сайт,продам сайт,не запускаетца игра,call of duty,gta4,tomb raider.">
<meta name="Description" content="форум запусти новую тему,обсуждения всевозможных тем,ваше мнения об играх таких как call of duty4,5,tomb raider,driver,gta4,ихние достоинства и недостатки.">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Форум | не запускаетца игра || call of duty игра по сети || форум & ваше мнения об игре tomb raider.</title>
<script language="javascript" type="text/javascript" src="opa.js"></script>
<link href ='style.css' type ='text/css' rel ='stylesheet'>
<br><br><br>
</head>
<body>
<?
 include ('shapka.txt'); 
 include('navigacia.php');   
 ?>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<center>
<form action="forum_obrabotchik.php" method="post" enctype="multipart/form-data"   >
<strong>Имя</strong>..... &nbsp;<input name="name" type="text" onFocus = "this.style.background ='#0E12A3'" onBlur="this.style.background ='#6f0'" class ='tekst' >
    <br>
  <br>
  <label>
    Страна...&nbsp;<select name="strana" size="1" type ='text' >
      <option >Украина</option>
      <option>Росия</option>
    <option>Беларусь</option>
   <option>Казахстан</option> 
     <option>Другая</option>
    </select>
  </label>
<br><br> 
    email... &nbsp;<input name="email" type="text" onFocus = "this.style.background ='#f6f6f6'" onBlur="this.style.background ='#ffffff'"  onClick ='nam()'>
    <br><br>
    текст<br>
 <textarea  name="text" cols="50" rows="7" class ='sh' onClick = 'kod()' ></textarea>
    <br><br>
  изображениe...&nbsp;  
<input name="file" type="file" onClick ='klik()'>
    <br><br>
<input name="knopka" type="submit" value ='Разместить'  id ='op' onMouseOver="ee()" 
 onMouseOut="jj()"   >
</form>
</center>
<script type="text/javascript" language="javascript">
function klik(){var ess = document.forms[0].op ; ess.value ="Сохранить..." ;   }
function nam(){ 
var n = document.forms[0].name.value;
if(n == "")
{
alert("Не_заполнено_поле_Имя...");
}
}
 function kod(){ 
var sss = document.forms[0].email.value;
if(sss == "" )
{
window.alert("Не заполнено поле...E-mail---Или собака убежала***");
}
 }
function tex(){
var sssss = document.forms[0].text.value;
if(sssss =="")
{
window.alert("Не заполнено поле...Text");
}    
}
function opanki(){
var klas = document.forms[0].name;
klas.style.border ="3px solid #000000";
}
var sad = setInterval("opanki()",4000);
function jon(){
clearInterval(sad);
}
var gad = setInterval("tu()",6000);
function poehali(){
var padonok = document.forms[0].name;    
padonok.style.border =" 2px solid #000000 ";    
}
function tu(){
var padonok = document.forms[0].name;    
padonok.style.border ="3px solid #3f0";    
}
</script>
<br><br>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<?
$e = mysql_query('select * from forum',$b);
$f = mysql_fetch_array($e);
do
{ 
   print "<div class ='sh'><center> Имя...  <strong>".$f ['name'].'</strong>' ;
   print '<br><br> email... &nbsp; <strong>'.$f ['email'].'</strong>' ;
   print '<br><br> Страна... &nbsp; <strong>'.$f ['strana'].'</strong></center>';
   print  '<br><br>'.$f['file'].$f ['text'].'</div>'
.'<br><br><br><hr class ="hr">';
}
while ($f = mysql_fetch_array($e));
?>
<img src ='image/bd6f8cdeafe6dc617f8969448e3b[1].gif' style ='position:absolute;top:700px;left:300px'>
<br><br><br><br><br><br>
<center>
<!-- begin of Top100 code -->
<script id="top100Counter" type="text/javascript" src="http://counter.rambler.ru/top100.jcn?1875502"></script><noscript><a href="http://top100.rambler.ru/home?id=1875502" target="_blank"><img src="http://counter.rambler.ru/top100.cnt?1875502" alt="Rambler's Top100" width="81" height="63" border="0" /></a></noscript>
<!-- end of Top100 code -->
</center>
</body>
</html>

-----------------------
Держы обработчика......
--------------------------------------------------------------------------------------
Код

<?  include ('baza.php');  ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Документ без названия</title>
</head>
<body>
<?
/*Загружаем изображения*/
$file = $_POST['file'];
$_FILES['file']['type'];
$_FILES['file']['size'] ;
$e = copy ($_FILES['file']['tmp_name'],'izobrajenia_klienta/'.$_FILES['file']['name']);
if($e == true)
{
$file = '<img src ="izobrajenia_klienta/'.$_FILES["file"]["name"].'" width ="173px" height ="155px" 
align ="left" class ="r" >';
print '<center><br><br><br>'.Тип_файла__.$_FILES['file']['type'];
print '<br><br>'.Размер_файла__.$_FILES['file']['size'];
print '<br><br>'.Имя_файла__.$_FILES['file']['name'].'</center>';
}
else
{
$file ='<img src ="image/15.jpg" width ="173px" height ="155px" align ="left" class ="r" >';    
}
/*Форум*/
$name = $_POST['name'];
$email = $_POST['email'];
$text = $_POST['text'];
$strana = $_POST['strana'];
$ip = $_SERVER['REMOTE_ADDR'];
mysql_query("insert into forum (name,email,text,strana,file,ip) 
                               values ('$name','$email','$text','$strana','$file','$ip')");
print '<center><br><br>Ваше_сообшения_добавлено...</center>'.'<meta http-equiv="refresh" 
content="2;URL=forum.php">'; 
?>
</body>
</html>


Это сообщение отредактировал(а) skyboy - 20.10.2009, 00:52
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0538 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.