Táblázatba tördelés - nem mindenhol működik
Sziasztok!
Van egy érdekes problémám, nevezetesen tömbből kéne elválasztó karakterhármasokat tartalmazó stringekből azok alapján újabb tömböket létrehozva táblázatcellákba tördelni azok tartalmát.
Nem is a megvalósítással van a gondom, hanem azzal, hogy míg nálam, localhoston minden gond nékül műküdik, (nem ingyenes) szerverre feltöltve nem.
Eredetileg külső fájlból olvastam file() függvénnyel a tömbbe, de mivel gondoltam, hogy biztos azért nem működik, mert a szerveren tiltva van a függvény, így egyszerűen beírtam az értékeket (az ezeket tartalmazó file praktikus okokból valójában include-olva van, csak itt az egszerűség kedvéért egyesítettem a "végrehajtó" file-lal). A kód:Mi lehet ennek a jelenségnek az oka? Mert szerintem semmi nincs a függvényben, aminek egy fizetős szerveren tiltva kéne lennie (kínomban már azt a foreachet is lecseréltem while-os párjára -- azért van kikommentelve).
Kérem, segítsetek, mert már ez az egész kezd az agyamra menni. Nem mintha nem lenne más megoldás, de érdekel, hogy ez így miért nem működik.
■ Van egy érdekes problémám, nevezetesen tömbből kéne elválasztó karakterhármasokat tartalmazó stringekből azok alapján újabb tömböket létrehozva táblázatcellákba tördelni azok tartalmát.
Nem is a megvalósítással van a gondom, hanem azzal, hogy míg nálam, localhoston minden gond nékül műküdik, (nem ingyenes) szerverre feltöltve nem.
Eredetileg külső fájlból olvastam file() függvénnyel a tömbbe, de mivel gondoltam, hogy biztos azért nem működik, mert a szerveren tiltva van a függvény, így egyszerűen beírtam az értékeket (az ezeket tartalmazó file praktikus okokból valójában include-olva van, csak itt az egszerűség kedvéért egyesítettem a "végrehajtó" file-lal). A kód:
<?php
$partners = array();
//A megjelenő, képpel ellátott linkek listája
//Megadási mód: $partners[] = "kép elérési útja (célszerű ékezet-mentes nevet adni neki)|*|oldal elérési útja|*|oldal leírása|*|kép vízszintes mérete|*|kép függőleges mérete";
$partners[] = "partners/kep.jpg|*|http://oldal.hu|*|Oldal1 leírás|*|120|*|30";
$partners[] = "partners/kep2.jpg|*|http://oldal2.com|*|Oldal2 leírása|*|100|*|30";
function piclinker_into_td($lines, $afterpic)
{
$result = "<td>";
//foreach ($lines as $line_num => $line)
reset($lines);
while (list($line_num, $line) = each($lines)) {
$line_array = explode("|*|", $line);
if ((bcmod($line_num, 4) == 0) and ($line_num != 0)) {
if ($line_num <= 8) {
if (bcmod($line_num, 8) == 0) {
$result .= "</tr><tr>\n<td>";
$result .= "<a href='".((isset($line_array[1])) ? $line_array[1] : "#")."' title='".((isset($line_array[2])) ? $line_array[2] : $line_array[1])."'><img src='".((isset($line_array[0])) ? $line_array[0] : e_BASE."partners/noadpic.png")."' class='contpic' alt='".((isset($line_array[2])) ? $line_array[2] : $line_array[1])."'".((isset($line_array[3])) ? "width='".$line_array[3]."'" : "").((isset($line_array[4])) ? "height='".$line_array[4]."'" : "")." /></a>".$afterpic."\n";
}
else {
$result .= "</td><td>";
$result .= "<a href='".((isset($line_array[1])) ? $line_array[1] : "#")."' title='".((isset($line_array[2])) ? $line_array[2] : $line_array[1])."'><img src='".((isset($line_array[0])) ? $line_array[0] : e_BASE."partners/noadpic.png")."' class='contpic' alt='".((isset($line_array[2])) ? $line_array[2] : $line_array[1])."'".((isset($line_array[3])) ? "width='".$line_array[3]."'" : "").((isset($line_array[4])) ? "height='".$line_array[4]."'" : "")." /></a>".$afterpic."\n";
}
}
else {
if (bcmod(($line_num-8), 12) == 0) {
$result .= "</tr><tr>\n<td>";
$result .= "<a href='".((isset($line_array[1])) ? $line_array[1] : "#")."' title='".((isset($line_array[2])) ? $line_array[2] : $line_array[1])."'><img src='".((isset($line_array[0])) ? $line_array[0] : e_BASE."partners/noadpic.png")."' class='contpic' alt='".((isset($line_array[2])) ? $line_array[2] : $line_array[1])."'".((isset($line_array[3])) ? "width='".$line_array[3]."'" : "").((isset($line_array[4])) ? "height='".$line_array[4]."'" : "")." /></a>".$afterpic."\n";
}
else {
$result .= "</td><td>";
$result .= "<a href='".((isset($line_array[1])) ? $line_array[1] : "#")."' title='".((isset($line_array[2])) ? $line_array[2] : $line_array[1])."'><img src='".((isset($line_array[0])) ? $line_array[0] : e_BASE."partners/noadpic.png")."' class='contpic' alt='".((isset($line_array[2])) ? $line_array[2] : $line_array[1])."'".((isset($line_array[3])) ? "width='".$line_array[3]."'" : "").((isset($line_array[4])) ? "height='".$line_array[4]."'" : "")." /></a>".$afterpic."\n";
}
}
}
else {
$result .= "<a href='".((isset($line_array[1])) ? $line_array[1] : "#")."' title='".((isset($line_array[2])) ? $line_array[2] : $line_array[1])."'><img src='".((isset($line_array[0])) ? $line_array[0] : e_BASE."partners/noadpic.png")."' class='contpic' alt='".((isset($line_array[2])) ? $line_array[2] : $line_array[1])."'".((isset($line_array[3])) ? "width='".$line_array[3]."'" : "").((isset($line_array[4])) ? "height='".$line_array[4]."'" : "")." /></a>".$afterpic."\n";
}
}
if (count($lines) < 5) {
$result .= "<td></td>";
}
$result .= "</td>";
return $result;
}
echo "<table>\n<tr>\n<td>Szöveg</td>".piclinker_into_td($partners, "<br />")."</tr>\n</table>";
?>
Kérem, segítsetek, mert már ez az egész kezd az agyamra menni. Nem mintha nem lenne más megoldás, de érdekel, hogy ez így miért nem működik.
Szerintem ezt csak a szerveren tudják
Mr.Tiny :: MRT Site
Nincsenek nagy verzió eltérések
Mindegy, megnézem hogy ha egy, többdimenziós tömbbel csinálom, és így kihagyom az explode()-os részt, mit reagál.
Azért, ha valakinek van még valami ötlete, kérem ne tartsa magában!
Megoldódott
Kiderült, hogy a
bcmod()
függvény használatával volt a baj (de hogy miért nem tudom); úgy jöttem rá, hogy mikor kínomban már azt is lecseréltem hasonló feladatokat ellátó saját függvényre, gond nélkül működött (elég meglepett voltam).