Autor Zpráva
mato855
Profil *
nasiel som kod ktory mi vydoluje nazov a url zo suboru 123.12 ktore su odelene dvojbodkou
$file = '123.12';
$fp = fopen($file, 'r+');
$counter = fread($fp, filesize($file));
$images = explode("\n", $counter);

function get_name($object) {
$x = explode(":",$object);
$name = $x['0'];
return $name;
}
function get_url($object) {
$x = explode(":",$object);
$total = count($x)-1;
$url = $x['1'];
for($i=2;$i<=$total;$i++)
$url .= ':'.$x[$i];
return $url;
}

123.12:
1.jpg:http://stranka/1img.php
2.jpg:http://stranka/2img.php

potrebujem tam pridat este jednu hodnotu
1.jpg:text1:http://stranka/1img.php
2.jpg:text2:http://stranka/2img.php

neviem teraz co mam pridat do toho prveho kodu aby mi to vydolovalo aj to co som tam pridal cize "text1"
prosim o pomoc
Joker
Profil
mato855
URL už teď nebude $x[1], ale $x[2] a $x[1] je ten text.
mato855
Profil *
takze spravil som to takto:
function get_name($object) {
$x = explode(":",$object);
$name = $x['0'];
return $name;
}
function get_name1($object) {
$x = explode(":",$object);
$total = count($x)-1;
$url = $x['1'];
for($i=2;$i<=$total;$i++)
$text .= ':'.$x[$i];
return $text;
}
function get_url($object) {
$x = explode(":",$object);
$total = count($x)-1;
$url = $x['2'];
for($i=2;$i<=$total;$i++)
$url .= ':'.$x[$i];
return $url;
}


ale ako url mi vypise: http:http://stranka/1img.php
a text: :http://stranka/1img.php
mato855
Profil *
takto:
http:http://stranka/1img.php 

:http://stranka/1img.php
Joker
Profil
mato855
Jo, to mi uniklo- dvojtečka není zrovna vhodně zvolený oddělovač, jelikož se vyskytuje uvnitř adresy- http://example.com/neco

Nicméně k problému: get_name1 má vracet jen $x[1], ne i ten zbytek, takže ten for-cyklus tam nemá být, navíc vrací špatnou proměnnou.
function get_name1($object) { 
$x = explode(":",$object); 
$total = count($x)-1; 
// tohle smazat:
$url = $x['1']; 
for($i=2;$i<=$total;$i++) 
$text .= ':'.$x[$i]; 
$text = $x[1]; // tohle přidat
return $text; 
}


a
function get_url($object) { 
$x = explode(":",$object); 
$total = count($x)-1; 
$url = $x['2']; 
for($i=3;$i<=$total;$i++) 
$url .= ':'.$x[$i]; 
return $url; 
}


Ale celé mi to přijde zbytečně složité.
Místo get_name, get_name1 a get_url bych udělal:
$polozka = explode($object, 3);

-> $polozka[0] bude název, $polozka[1] bude text a $polozka[2] bude URL.
Název ani text samozřejmě nesmějí obsahovat dvojtečku.
mato855
Profil *
dik moc uz to fici

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: