[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как сделать лучше.
psychild
Начал изучать всего понемножку. И столкнулся с такой задачей.

Есть страница...с тумбами и соответственно с определенным дивом где выводиться имг при клике на тумбу...но это не по делу.
Собственно по коду :


соединяемся с базой и т.д...
$result = mysql_query("SELECT * FROM clients WHERE id=".(int)$id);
$myrow = mysql_fetch_assoc($result);
$page = (isset($_GET['page'])) ? $_GET['page']:"1";
$pages = $myrow['pages'];

дальше хтмл разметка, она нас не интересует сейчас...
потом собственно див с тумбами
<div id="preview_left">

<?php

$directory ='images/clients/'.$pages;
$allowed_types=array('jpg','jpeg','gif','png');
$file_parts=array();
$ext='';
$title='';
$i=0;

$dir_handle = @opendir($directory) or die("ошибко!");

while ($file = readdir($dir_handle))
{
if($file=='.' || $file == '..') continue;

$file_parts = explode('.',$file);
$ext = strtolower(array_pop($file_parts));

$title = implode('.',$file_parts);
$title = htmlspecialchars($title);

$nomargin='';

if(in_array($ext,$allowed_types))
{
if(($i+1)%4==0) $nomargin='nomargin';

echo '
<div class="pic '
.$nomargin.'" style="background:url('.$directory.'/'.$file.') no-repeat;">
<a href="'
.$directory.'/1/'.$file.'" title="'.$title.'" target="_blank">'.$title.'</a></div>';

$i++;
}
}


closedir($dir_handle);

?>


</div>

здесь мы пробежались по папочке и вытащили имаги
дальше

<div id="middle" >

<?php
foreach (scandir('images/clients/'.$pages.'/logo') as $img)
$allowed_types=array('jpg','jpeg','gif','png');
{


echo '<img src="images/clients/'.$pages.'/logo/'.$img.'" />';
}


?>

</div>

здесь мы пробежались по папочке и взяли логотип клиента...
это было клиентская часть...
Собственно трудность возникла в автоматизации данного процесса...дабы облегчить себе жизнь по добавлению нового клиента и имаг к нему.

Как я понял....вытаскиваем из базы нужного нам клиента...
mysql_query("SELECT * FROM clients WHERE id=".(int)$id);
$myrow = mysql_fetch_assoc($result);

теперь имеем все поля из таблицы клиента с определенным айди.
и соответственно имеем

['meta_d']
['meta_k']
['title']
['legend']
['text']
['pages']


Вот и суть вопроса, как правильно сделать чтобы при добавлении клиента происходило что то вроде :
mkdir('../images/clients/'.$pages, 0700);
mkdir('../images/clients/'.$pages.'/logo', 0700);

только с проверкой...а то малоли есть уже дир с таким именем...
И как бы потом можно было в эти папки, при редактировании клиента, добавлять-удалять имаги.
Стоит еще одну строку в таблице клиента, или даже две создавать чтобы туда заносить путь к папкам?
В общем тут я в ступоре...выручайте плз



Спустя 33 минуты, 57 секунд (2.03.2011 - 17:07) psychild написал(а):
я так понял что проверить если такая такое есть как то так:

if( !@file_exists( $path ) )
{
@mkdir( $path, 0777 );
}

Спустя 2 часа, 10 минут, 25 секунд (2.03.2011 - 19:18) psychild написал(а):
и так...
создал папки с нужным мне именем
$pages


далее делаю так:
$path = '../images/clients/'.$pages.'/logo/';
$pathe = '../images/clients/'.$pages.'/';

потом форма:
<form action=upload.php method=post enctype=multipart/form-data>
<input
type=file name=uploadfile>
<input
type='hidden' name='path' value='<?=$path?>'>
<input
type=submit value=Загрузить>
</form>

кусок обработчика:
$uploaddir = $_POST['path'];

Подскажите как мой извращенный код поправить и как же одновременно залить файлы и в
$path и $pathe

Спустя 1 день, 1 час, 46 минут, 51 секунда (3.03.2011 - 21:05) psychild написал(а):
и так у меня вот теперь какая трудность
форма :

<form action="upload.php" method="post" enctype="multipart/form-data">
<input
type="file" name="uploadfile_1"><br/>
<input
type="file" name="uploadfile_2"><br/>
<input
type="file" name="uploadfile_3"><br/>
<input
type="file" name="uploadfile_4"><br/>
<input
type='hidden' name='pages' value='<?=$pages?>'>
<input
type=submit name="submit" value="Отправить файлы ">
</form>



обработчик:




set_time_limit(100);

$pages = $_POST['pages'];

if( move_uploaded_file($_FILES['uploadfile_1']['tmp_name'],'../images/clients/'.$pages.'/logo/'.basename($_FILES['uploadfile_1']['name']))
)

echo 'ok';

for ($i=1; i<count($_FILES); $i++)
{
move_uploaded_file($_FILES['uploadfile_'.$i]['tmp_name'], '../images/clients/'.$pages.'/'.basename($_FILES['uploadfile_'.$i]['name']));
}


и ошибка в строке
move_uploaded_file($_FILES['uploadfile_'.$i]['tmp_name'], '../images/clients/'.$pages.'/'.basename($_FILES['uploadfile_'.$i]['name']));


Fatal error: Maximum execution time of 100 seconds exceeded

Спустя 1 день, 11 часов, 9 минут, 33 секунды (5.03.2011 - 08:14) Guest написал(а):
Нужна помощь
как зделать чтоб файл падключал к себе фреймы
пример

index.php
dir/frame.html

надо чтоб только фрейм поключился а index.php остался на месте
просто у меня будет html 400-600 файлов
кто что посаветует

Спустя 39 минут, 54 секунды (5.03.2011 - 08:54) Семён написал(а):
Сорри за офф-топ, просто пробежавшись по коду заметил порнографию:
foreach (scandir('images/clients/'.$pages.'/logo') as $img) 
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.