Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

02.06.2010, 13:13
|
|
Познающий
Регистрация: 07.02.2010
Сообщений: 70
Провел на форуме: 217996
Репутация:
56
|
|
Сообщение от DonKihot
так выводит, названия ключа массива во много строк,
а нужно в одну строку. Как это сделать?
убери echo '<tr>';
|
|
|

02.06.2010, 13:37
|
|
Познающий
Регистрация: 23.05.2010
Сообщений: 44
Провел на форуме: 38453
Репутация:
2
|
|
foreach($obj as $k1 => $FSobject)
{echo "<tr>";
foreach($FSobject as $key => $key)
{
echo "<td> $key </td>";
}
echo "</tr>";
}
так выводит, названия ключа массива во много строк,
а нужно в одну строку. Как это сделать?
У ячеек массива(класс, там ООП, класс в итераторе) есть названия : name,userid, date_modified,permission и др.
Нужно ТОЛЬКО названия ячеек (чтобы получился заголовок таблицы), что то наподобие этого : name | userid | date_modified | permission .
|
|
|

02.06.2010, 14:57
|
|
Познающий
Регистрация: 07.02.2010
Сообщений: 70
Провел на форуме: 217996
Репутация:
56
|
|
DonKihot, не понял, может тебе
foreach($FSobject as $key => $key)
надо заменить на
foreach($FSobject as $key => $val)
? по твоему коду:
$obj - массив, элементы которого ( $FSobject===$obj[$k1] ) являются другими массивами.
В них (т.е. в каждом $FSobject): $key-ключ, $val-значение каждого элемента
Из перечисленных выше переменных что является названием? $val? (в твоём коде выводится $key в каждой ячейке, т.е. ключ)
Последний раз редактировалось roxblnfk; 02.06.2010 в 15:00..
|
|
|

02.06.2010, 15:42
|
|
Познающий
Регистрация: 28.01.2009
Сообщений: 32
Провел на форуме: 84089
Репутация:
1
|
|
Сообщение от roxblnfk
Axel G, ты пых вобще хоть чуток понимаешь? 
самую что ни на есть малость = ) Так сказать только начинаю знакомство.
Сообщение от roxblnfk
а вообще, если следовать твоему скрипту, то лучше так:
PHP код:
if(!isset($_POST['thumb'])) exit;
if(300<$_POST['thumb'] || 100>$_POST['thumb']){
echo '<p align=center>ошибка создания превью</p>';
exit;
}
Спасибо конечно, но куда переменную $tsize вставить в этом варианте??
Сообщение от roxblnfk
Для мультиапа введи индексы для инпутов ( userfile_1 userfile_2 ... )
в цикле, к примеру
PHP код:
for($i=1;$i<=10;$i++)
if(isset($_FILES['userfile_'.$i]))
if(UPLOAD_ERR_OK==$_FILES['userfile_'.$i]['error']){
// всякие твои проверки
move_uploaded_file($_FILES['userfile_'.$i]['tmp_name'],'./parapapaparam/uf'.mktime().'_'.$i);
}else echo $i.'-й файл загружен с ошибкой';
А если инпутам присвоено name="userfile[]" то как скрипт должен выглядеть??
#####################################
PHP код:
<?
//create thumbnails
function createthumb($name,$sourcetype,$filename,$new_w,$new_h){
if ($sourcetype==".jpg"){
$src_img=imagecreatefromjpeg($name);
}
if ($sourcetype==".png"){
$src_img=imagecreatefrompng($name);
}
if ($sourcetype==".gif"){
$src_img=imagecreatefromgif($name);
}
$old_x=imageSX($src_img);
$old_y=imageSY($src_img);
if ($old_x > $old_y) {
$thumb_w=$new_w;
$thumb_h=$old_y*($new_h/$old_x);
}
if ($old_x < $old_y) {
$thumb_w=$old_x*($new_w/$old_y);
$thumb_h=$new_h;
}
if ($old_x == $old_y) {
$thumb_w=$new_w;
$thumb_h=$new_h;
}
$dst_img=ImageCreateTrueColor($thumb_w,$thumb_h);
imagecopyresampled($dst_img,$src_img,0,0,0,0,$thumb_w,$thumb_h,$old_x,$old_y);
imagejpeg($dst_img,$filename);
imagedestroy($dst_img);
imagedestroy($src_img);
}
//------------------------ START HERE ------------------
$max_size = 1024 * 1024;
$path = "images/";
$tpath = "thumbs/";
$tsize = $_POST['thumb'];
if(!isset($_FILES['userfile'])) exit;
if(!is_uploaded_file($_FILES['userfile']['tmp_name'])) exit;
if ($_FILES['userfile']['size']>$max_size) {
echo "<p align=center>Файл слишком большой!</p>";
exit;
}
$pictype="";
switch(strtolower($_FILES['userfile']['type'])){
case "image/jpeg" : $pictype=".jpg"; break;
case "image/pjpeg": $pictype=".jpg"; break;
case "image/gif" : $pictype=".gif"; break;
case "image/png" : $pictype=".png"; break;
case "image/x-png": $pictype=".png"; break;
default : $pictype=""; break;
}
if($pictype!="") {
//-------
do {
$uniq=md5(uniqid(rand(),1));
$srcfile=$path.$uniq.$pictype;
} while(file_exists($srcfile));
$res = copy($_FILES['userfile']['tmp_name'], $srcfile);
if (!$res) {
echo "<p align=center>Ошибка копирования файла на сервер!</p>";
exit;
}
@chmod($srcfile,0666);
//set url variable
$imgf = $path . $uniq . $pictype;
$thbf = $tpath . $uniq . ".jpg";
createthumb($imgf,$pictype,$thbf,$tsize,$tsize);
@chmod($thbf,0666);
$urlf = $domain . $path . $uniq . $pictype;
?>
# здесь HTML вывод ссылок.
<?
//error
} else {
echo "<p align=center>Формат файла не распознан!</p>";
exit;
}
?>
Последний раз редактировалось Axel G; 02.06.2010 в 15:56..
|
|
|

02.06.2010, 16:21
|
|
Познающий
Регистрация: 07.02.2010
Сообщений: 70
Провел на форуме: 217996
Репутация:
56
|
|
Спасибо конечно, но куда переменную $tsize вставить в этом варианте??
ну как ребёнок..
PHP код:
if(isset($_POST['thumb'])) $tsize=intval($_POST['thumb']);
else exit;
if(300<$tsize || 100>$tsize){
echo '<p align=center>ошибка создания превью</p>';
exit;
}
А если инпутам присвоено name="userfile[]" то как скрипт должен выглядеть??
print_r ($_FILES); поможет 
|
|
|

02.06.2010, 16:32
|
|
Познающий
Регистрация: 28.01.2009
Сообщений: 32
Провел на форуме: 84089
Репутация:
1
|
|
Сообщение от roxblnfk
ну как ребёнок..
Быть может,
PHP код:
if(isset($_POST['thumb'])) $tsize=intval($_POST['thumb']);
else exit;
if(300<$tsize || 100>$tsize){
echo '<p align=center>ошибка создания превью</p>';
exit;
}
И что же у вас получится?? Я указывал ранее, что переменной $tsize должно присваиваться значение инпута, тобишь $tsize = $_POST['thumb'];
================================
спасибо за решение проблемы Chaak'у.
PHP код:
$tsize = $_POST['thumb'];
if($tsize >= 300 || $tsize <= 100)
die('<p align="center">Превью должно быть меньше 300, но больше 100 пикселей.<center>');
Последний раз редактировалось Axel G; 02.06.2010 в 17:05..
|
|
|

02.06.2010, 18:14
|
|
Новичок
Регистрация: 18.03.2009
Сообщений: 20
Провел на форуме: 89083
Репутация:
1
|
|
Как добавить правильно
Как с помощью php
Что бы получалось каждое следующее число в таком стиле: 001,002,003,004 и т.д
А то получается вот так : 001,1,2 и тд
|
|
|

02.06.2010, 18:20
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
PHP код:
<?php
for($i=1;$i<10;$i++)
printf("00%s,",$i);
?>
|
|
|

02.06.2010, 18:28
|
|
Новичок
Регистрация: 18.03.2009
Сообщений: 20
Провел на форуме: 89083
Репутация:
1
|
|
Сообщение от Pashkela
PHP код:
<?php
for($i=1;$i<10;$i++)
printf("00%s,",$i);
?>
Пасиб
|
|
|

02.06.2010, 18:39
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме: 2769640
Репутация:
1304
|
|
Corpy Лучше так, в варианте от Pashkela числа больше 9 будут выглядеть как 0010
PHP код:
for ($i=0; $i<20; $i++)
echo sprintf("%'03d",10);
__________________
Любая действущая программа устарела.
Создайте систему, которой сможет пользоваться даже дурак ,и только дурак захочет ею пользоваться.
Как правильно задавать вопросы: _http://www.yakimchuk.ru/questions.htm
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|