| imho.ws |
![]() |
|
|
|
# 1 |
|
Newbie
Регистрация: 23.10.2006
Сообщения: 14
![]() |
помощь по php
у меня есть php код. но я не могу изменить кго, как мне надо... вот код
PHP код:
|
|
|
|
|
# 2 |
|
мод
IMHO Кодер-200(6,7,8) Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1. Поидее нет. Я бы вообще этот путь вынес куда-нибудь в настройки, в переменную или константу, чтобы проще было бы менять...
Что именно не получается? 2. Думаю Вам все же нужно было написать в раздел "Веб-программирование и скрипты"
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям! Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru Pahan-Hubbitus. |
|
|
|
|
# 4 |
|
Banned
Регистрация: 11.06.2008
Сообщения: 57
![]() |
Yoyoman, простите за глупый вопрос, а этот скрипт можно ли запустить, чтобы проследить откуда и как вызывается, просто вижу функции, но не вижу, где массив $files создался. Я конечно не всё понимаю, но если бы скрипт был готов для запуска без дополнительных заморочек, то вам бы помогли быстрее. По сути в вашей проблеме одним изменением opendir делу не поможешь.
|
|
|
|
|
# 5 |
|
Newbie
Регистрация: 23.10.2006
Сообщения: 14
![]() |
этот скрипт рабочий. просто в body надо вставить
PHP код:
страница: www.hungarianstreets.ws/gallery_action Последний раз редактировалось Yoyoman; 13.06.2008 в 21:22. Причина: дополнение |
|
|
|
|
# 6 |
|
Banned
Регистрация: 11.06.2008
Сообщения: 57
![]() |
В общем на первый взгляд секрет кроется в проверке is_file($file), когда в актуальной директории идёт отпрос, то всё нормально, проверка проходит, ежели в opendir(".") подсунуть другую директорию, то проверка не прокатит, поскольку искомый файл не находится в актуальной директории, в которой is_file функция идёт проверка, следовательно туда надо пихнуть проверяемую директорию и по сути это можно сделать передачей параметра, посмотрю, получится ли, если не получится ни у кого раньше.
|
|
|
|
|
# 7 |
|
Banned
Регистрация: 11.06.2008
Сообщения: 57
![]() |
В общем, времени до полного ума доводить нету, но думаю, из того, что я накалякал, станет ясно, почему у тебя не шло. Я раскоментировал то, что мешало работе, всё у меня и создаётся, и показывается в указанной мною директории.
Код:
<?php
$columns = 5;
$thmb_width = 120;
$thmb_height = 80;
$mydir="./mojadirektorija/";
function resizeImage($originalImage,$toWidth,$toHeight){
// Get the original geometry and calculate scales
list($width, $height) = getimagesize($originalImage);
$xscale=$width/$toWidth;
$yscale=$height/$toHeight;
// Recalculate new size with default ratio
if ($yscale>$xscale){
$new_width = round($width * (1/$yscale));
$new_height = round($height * (1/$yscale));
}
else {
$new_width = round($width * (1/$xscale));
$new_height = round($height * (1/$xscale));
}
// Resize the original image
$imageResized = imagecreatetruecolor($new_width, $new_height);
$imageTmp = imagecreatefromjpeg ($originalImage);
imagecopyresampled($imageResized, $imageTmp, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
return $imageResized;
}
function generateThumbnails(){
global $thmb_width,$thmb_height,$mydir;
// Open the actual directory
if ($handle = opendir($mydir)) {
while ($file = readdir($handle)) {
if (is_file($mydir.$file)){
if (strpos($file,'_th.jpg')){
$isThumb = true;
} else {
$isThumb = false;
}
if (!$isThumb) {
// Process the file string
//$dirName = substr($file,0,strpos($file,basename($mydir.$file)));
$dirName=$mydir;
//if (strlen($dirName) < 1) $dirName = '.';
//$fileName = basename($file);
$fileName=$file;
$fileMain = substr($fileName,0,strrpos($fileName,'.'));
$extName = substr($fileName,strrpos($fileName,'.'),
strlen($fileName)-strrpos($fileName,'.'));
// Check if the actual file is a jpeg image
if (($extName == '.jpg') || ($extName == '.jpeg') || ($extName == '.JPG')){
$thmbFile = $dirName.'/'.$fileMain.'_th.jpg';
// If a thumbnail dosn't exists tahn create a new one
if (!file_exists($thmbFile)){
$aaa=resizeImage($mydir.$file,$thmb_width,$thmb_height);
imagejpeg($aaa,$thmbFile,80);
}
}
}
}
}
}
}
function getNormalImage($file){
$base = substr($file,0,strrpos($file,'_th.jpg'));
if (file_exists($base.'.jpg')) return $base.'.jpg';
elseif (file_exists($base.'.jpeg')) return $base.'.jpeg';
elseif (file_exists($base.'.JPG')) return $base.'.JPG';
else return "";
}
function displayPhotos(){
global $columns,$mydir;
generateThumbnails();
$act = 0;
// Open the actual directory
if ($handle = opendir($mydir)) {
// Read all file from the actual directory
while ($file = readdir($handle)) {
$files[] = $mydir.$file;
}
//Close directories and sort files in a decending order
closedir($handle);
sort($files);
reset($files);
foreach ($files as $k => $file) {
if ($file != $mydir."." && $file != $mydir.".." && $file != $mydir."index.php~" && $file != $mydir."index.php" ) {
$com = getNormalImage($file).'.html';
// Check whether tha actual item is a valid file
if (is_file($file)){
// Check whether the actual image is a thumbnail
if (strpos($file,'_th.jpg')){
++$act;
if ($act > $columns) {
echo '</tr><tr><td class="photo"><A HREF="showpic.php?kep='.getNormalImage($file).'" onClick="return popup(this, \'stevie\')"><img src="'.$file.'" alt="'.$file.'"/></A><br><a href="'.$com.'" target=\"_blank\">komment</a></td>';
$act = 1;
} else {
echo '<td class="photo"><A HREF="showpic.php?kep='.getNormalImage($file).'" onClick="return popup(this, \'stevie\')"><img src="'.$file.'" alt="'.$file.'"/></A><br><a href="'.$com.'" target=\"_blank\">komment</a></td>';
}
}
}
}
}
}}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<table width="100%" border="0">
<tr>
<?php displayPhotos(); ?>
</tr>
</table>
</body>
|
|
|
|
|
# 9 |
|
Banned
Регистрация: 11.06.2008
Сообщения: 57
![]() |
Ява или яваскрипт? Не мешайте всё в одну кучу!
К тому же в яваскрипте тоже есть возможность выхватывать то, что в адрессной строке находится, но покуда вам прямо так надо, то можно заранее в переменную скрипта яваскрипт загнать пхпшным эхом необходимые значения. типа <script..... var variable="<?php echo $_GET['peremennaja'];?>"; </script> |
|
|
|
|
# 10 |
|
Newbie
Регистрация: 23.10.2006
Сообщения: 14
![]() |
:\ думал, 4то зная ето - полу4ится. нет
если будешь настолько добрим, то посмотришь?![]() вот ява скрипт: head Код:
<script language="JavaScript">
function kinyit(sec)
{
thisSec = eval('e' + sec);
if (thisSec != null){
if (thisSec.length){
if (thisSec[0].style.display != 'none'){
for (var i=0;i<thisSec.length;i++) {thisSec[i].style.display = 'none'}
}
else{
for (var i=0;i<thisSec.length;i++) {thisSec[i].style.display = 'inline'}
}
}
else{
if (thisSec.style.display != 'none') {thisSec.style.display = 'none'}
else{thisSec.style.display = 'inline'}
}
}
}
</script>
Код:
<a href="javascript:ywzc();kinyit(1)">Asdfg</a><br>
<table border="0">
<tr id="e1" style="display:none">
<td>
<p align="center"> asd<br>asd<br>asd<br>asdswgsrh</p>
</td>
</tr>
</table>
http://asd.ws/nеws.php?id=1 и тогда он откривает "е1". и т.д. я попытался следуйшьим образом: Код:
<script language="JavaScript">
var id="<?php echo $_GET['id'];?>";
function kinyit(sec)
{
thisSec = eval('e' + sec);
if (thisSec != null){
if (thisSec.length){
if (thisSec[0].style.display != 'none'){
for (var i=0;i<thisSec.length;i++) {thisSec[i].style.display = 'none'}
}
else{
for (var i=0;i<thisSec.length;i++) {thisSec[i].style.display = 'inline'}
}
}
else{
if (thisSec.style.display != 'none') {thisSec.style.display = 'none'}
else{thisSec.style.display = 'inline'}
}
}
}
return kinyit(id);
</script>
по яве - я никак :\ просто предполозсил. если будут затруднения, то тогда не надо, т.к. я нашeл, не the best, но выход из полоzsниябыл бы полностью рад, если обяснил бы ![]() ![]() p.s.: gallery script: www.hungarianstreets.ws/gallery.php?gal=menu EXELLENT!
Последний раз редактировалось Yoyoman; 15.06.2008 в 11:50. |
|
|
|
|
# 11 |
|
Banned
Регистрация: 11.06.2008
Сообщения: 57
![]() |
Не, так нельзя, ты же видишь, что у тебя по ссылке параметр 1 передаётся inyit(1), который в функции навешивается на букву 'e', а это название id, e1. Следовательно, если ты хочешь передать в ссылку параметр из гет
<a href="javascript:ywzc();kinyit(1)">Asdfg</a><br> то код яваскрипта надо оставить, как есть, а в ссылку и пихнуть пхп запрос. Код:
<a href="javascript:ywzc();kinyit(<?php echo $_GET['id']; ?>)">Asdfg</a><br> Код:
<script language="JavaScript">
function kinyit(sec)
{
thisSec = eval('e' + sec);
if (thisSec != null){
if (thisSec.length){
if (thisSec[0].style.display != 'none'){
for (var i=0;i<thisSec.length;i++) {thisSec[i].style.display = 'none'}
}
else{
for (var i=0;i<thisSec.length;i++) {thisSec[i].style.display = 'inline'}
}
}
else{
if (thisSec.style.display != 'none') {thisSec.style.display = 'none'}
else{thisSec.style.display = 'inline'}
}
}
}
kinyit(<?php echo $_GET['id']; ?>);
</script>
|
|
|
|
|
# 13 |
|
Banned
Регистрация: 11.06.2008
Сообщения: 57
![]() |
В исходнике пишет? Смею предположить, что у тебя яваскрипт грузится в самом начале страницы, прежде чем tr с id загрузится и в этот момент естественно он ещё его не видит, поскольку функция вызывается до того, как тот элемент в хтмл появится, посему вынеси этот код в конец страницы, до </html>, а в главном коду, что я до этого дал, естественно убери эту строку....
<script language="JavaScript"> kinyit(<?php echo $_GET['id']; ?>); </script> Последний раз редактировалось Viro_man; 15.06.2008 в 20:30. |
|
|
|
|
# 14 |
|
Newbie
Регистрация: 23.10.2006
Сообщения: 14
![]() |
PHP код:
PHP код:
p.s.: mysql table: hzzp://hungarianstreets.ws/mysql.zip > category is 4th column, photo is 2nd, id is 1st Последний раз редактировалось Yoyoman; 14.07.2008 в 02:04. |
|
|
|
|
# 15 |
|
мод
IMHO Кодер-200(6,7,8) Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Видимо потому что не выполняется никогда условие...
Жуткий код, понять по нему что-либо крайне сложно. Вы бы хоть нормальный дамп таблицы выложили, а не этот в HTML, с дублирующимся столбцом и без названий. Ну и еще не плохо было бы описать что именно нужно сделать и не получается. Видится мне на подобное такую кучу запросов, да потом еще и запросу в цикле не уместно как-то....
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям! Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru Pahan-Hubbitus. |
|
|
|
|
# 16 |
|
Newbie
Регистрация: 23.10.2006
Сообщения: 14
![]() |
енто у меня гелрея. есть название фото, категория, команда, имя 4ела, город, е-маил аплоудера и "столбец VOTE". VOTE нузсен для того, 4то когда юзер зака4ивает фото, то тогда посетители могут голосовать. И Cronjob (который казсдый день проигрываетса) определяет: или удалить, или поставить VOTE на 0. и тут я рассматриваю только где vote=0. у меня есть file 'showpic.php', который открываетса при назсатии на thumbnail.
И вот сей4ас мне захотелось сделать 'photo viewer'. тоесть кнопку 'next' и 'prev'. Но не просто след. фото, а след. фото из именно тойзсе категории. и я решил ето сделать 4ерез while-loop... но он входит в безконе4ний цикл.... п.с.: тут столько запросов потаму, 4то когда я пишу: PHP код:
|
|
|
|
|
# 17 |
|
Banned
Регистрация: 11.06.2008
Сообщения: 57
![]() |
Yoyoman, а ты можешь запихнуть после каждого фетча $row
print_r($row); и выдать результат сюда, я конечно не мыслю особо в базах данных, но настораживает твой запрос из массива по типу $row['MIN(photo)'], неужели в массиве он так и откладывается, а не как $row['photo'] |
|
|
|
|
# 18 | |
|
мод
IMHO Кодер-200(6,7,8) Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
В массиве конечно он так и "откладывается", если не задан алиас.
Более того, когда одно значение, удобнее вообще е обращаться к нему по имени, а сделать так (очень давно это RaZeR подсказал, с тех пор пользуюсь ):PHP код:
Цитата:
Еще раз говорю, в Вашем коге, а особенно таблице, фиг разберешься без поллитры, Вы бы хоть отступы в коде делали! Выложите нормальный дамп таблицы и полный код файла, я постараюсь посмотреть и указать почему не работает.
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям! Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru Pahan-Hubbitus. |
|
|
|
|
|
# 19 | |
|
КОТовский
Регистрация: 12.03.2003
Адрес: ОренБюргер
Пол: Male
Сообщения: 1 569
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Не стал создавать новую, т.к. эта вполне подходит по названию.
Занялся на досуге изучением PHP. Поставил задачу: скопировать файлы из каталога1 в каталог2 (mp3-шники, у некоторых в начале присутствует нумерация. Её то я и убираю) Написал код PHP код:
Цитата:
Пока ни один не подошёл. Размеры файлов разные, от 3-х байт и выше. в php.ini safe_mode = Off upload_max_filesize = Был 2M увеличил до 200м Названия файлов и русские и аглицкие. Как вы понимаете мне важен сам факт работы кода и "разбор полётов", аналогичное на VB давно бы реализовал. Не могу понять в чем может быть причина нежелания копировать файлы. Подскажите плиз...
__________________
Все мы финансовые гении и эффективные менеджеры, только не у всех одногруппник или сосед по даче - президент. Последний раз редактировалось Alex Dark; 23.02.2011 в 10:51. |
|
|
|
|
|
# 20 |
|
Administrator
Регистрация: 06.05.2003
Адрес: Московская Подводная Лодка
Пол: Male
Сообщения: 12 062
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
уверен что скопировал именно так, как оно у тебя?
ругается на 28 строку, а на 28й строке в том что здесь - и ругаться то особо не на что: скобка там фигурная...
__________________
все "спасибы" - в приват и в репутацию! не засоряйте форум!!!! ~~~~~~~~~~~~~~~~~~~~~~ The time has come it is quite clear, our antichrist is M.M.
|
|
|