juresl

Statistika

Pridružen/a:
16 avg 2007, 09:23
Zadnjič aktiven:
Prispevki:
Teme:
57 | Vse teme
74
23
4
#2

Hm.. to da moraš nekaj vedet, se popolnoma strinjam. Glede na to, da sem čisto nov v tem sem se obrnil na tiste ki so/ste temu dokaj vešči. V bistvu že cel dan "češem" google, a ne najdem tisto kar bi rad.



Na tabih bi po mojem mnenju mogo dobit uid, če pogledaš npr. to facebook skupino, vidiš, da je uid potreben.



V bistvu je tudi ta stran konkreten primer tega, kar si želim naredit.. za v pomoč vsem, ki ste želni pomagati.



Najlepša hvala za odgovore in lep pozdrav, Jure!


všeč(0) ni všeč(0) spam(0)
#

Zanima me kaj delam narobe:


<?php
require_once 'facebook.php';

// Create our Application instance.
$facebook = new Facebook(array(
'appId' => '162670063745174',
'secret' => '5a3b396c95f6d7abb423124e58748f42',
'cookie' => true,
));

$user_id = $facebook->getUser();
?>

<fb:if-is-group-member gid="150356044999796" uid="<?php echo $user_id; ?>" role="member">
Hey, you're an admin of that group!
<fb:else>Sorry, admins only!</fb:else>
</fb:if-is-group-member>

Na strani mi ne uporabi uid-ja, pri tabih pa mi napiše:




Application Temporarily Unavailable

Runtime errors:

fb:if-is-group-member: "ifs" are not allowed in flavor TabFBMLFlavor




Kakšna naj bi sploh zgledala struktura aplikacije?

facebook.php

index.php

...



Hvala za odgovore!


všeč(0) ni všeč(0) spam(0)
#11

Hm.. ne razumem tega garbage collecterja, sem gledal google, celo na (http://www.wicked.si/) sem zasledil objavo, ampak še zdaj ne dojamem tega principa.. So baje tudi neke nove funkcije v php5. Torej.. ta skripta se izvaja dokler ne "porabi" memory limit-a, če ga povečam za ene par ničl, dobim po par urcah takšno napako (google chrome):




Ta spletna stran ni na voljo.



Spletna stran na naslovu http://kontakt.si/parsanje/parsanje.php morda začasno ne deluje ali pa je trajno premaknjena na novi spletni naslov.



Več informacij o tej napaki

V nadaljevanju je prvotno sporočilo o napaki



Napaka 324 (net::ERREMPTYRESPONSE): Neznana napaka.




Za vse, ki ste pripravljeni pomagat, uporabljam simple html dom parser, spodaj je koda (spletna stran načeloma ni pomembna). Spremenljivke ($var1,2,3..6) vrnejo izključno besedilo, brez kakšnih znakov, pa še to besedilo je dokaj kratko.


set_time_limit(60*60);
ini_set("memory_limit","64M"); // 64+
ini_set('error_reporting', E_ALL);

$url = 'url';
$begin = 40;
$end = 381;

header('Content-Type: text/html; charset=utf-8');
include("simple_html_dom.php");
$html = new simple_html_dom();

$html = file_get_html($url);
foreach($html->find('a') as $id => $element) {
if ($id > $begin && $id < $end) {
$html = file_get_html($element->href);
foreach($html->find('ul.ProductList a[class=]') as $id => $e) {
$var1 = $var2 = $var3 = $var4 = $var5 = $var6 = '';

$html = file_get_html($e->href);
foreach($html->find('div.BlockContent h2') as $e) {
$var1 .= $e->innertext;
}

foreach($html->find('div.Value strike') as $e) {
$var2 .= $e->innertext;
}

foreach($html->find('em.ProductPrice') as $e) {
$var3 .= $e->innertext;
}

foreach($html->find('span.YouSaveAmount') as $e) {
$var4 .= $e->innertext;
}

foreach($html->find('div.Value a') as $id => $e) {
$var5 .= str_replace('Buy in bulk and save', '', strip_tags($e->innertext));
}

foreach($html->find('div.ProductDescriptionContainer') as $e) {
$var6 .= strip_tags($e->innertext, '');
}

echo $var1."<br>\n";
echo $var2."<br>\n";
echo $var3."<br>\n";
echo $var4."<br>\n";
echo $var5."<br>\n";
echo $var6."<br>\n";
echo "<hr>";
}
}
}

Sedaj me pa zanima, kako bi lahko skripto "omejil", npr. da se po določenih izpisih vsavi shrani tekst in od tam dalje spet procesira, spet vstavi, shrani.. spet procesira.. in tako do konca, da bi na koncu dobil vse izpise. Btw. parsa najprej iz ene strani, nato iz te strani sparsa linke, gre na vsako stran od teh linkov in sparsa vsebino.



Najlepša hvala za odgovore in lep pozdrav, Jure!


všeč(0) ni všeč(0) spam(0)
#1

Uredil zadevo, tema se lahko zaklene.



Osnovni mapi nisem dodelil vseh pravic.


všeč(0) ni všeč(0) spam(0)
#

Pozdravljeni!



Zanima me, zakaj mi skripta, vrne(naloži) črno sliko. Vse se je zgodilo, ko je bila stran preseljena iz enega serverja na drugega. Sliko pomanjša, preimenuje.. vse vredu a slika je črna. Skripta:


$maxsize = 1024 * 768;
$filetypes = array ("image/jpeg", "image/pjpeg", "image/png", "image/x-png", "image/gif");

for ($i = 0; $i < count ($_FILES['fajl']['name']); $i++) {
$filename = $_FILES['fajl']['name'][$i];
$filesize = $_FILES['fajl']['size'][$i];
$filetype = $_FILES['fajl']['type'][$i];
$filetemp = $_FILES['fajl']['tmp_name'][$i];

if ($filename != "") {
if ($filesize > $maxsize) {
unlink($filetemp);
$result = false;
$fileimgx = 3;
} else {
if (!in_array($filetype, $filetypes)) {
unlink($filetemp);
$result = false;
$fileimgx = 4;
} else {
switch ($filetype) {
case $filetypes[0]:
case $filetypes[1]:
$fileimgx = word().".jpg";
move_uploaded_file($filetemp, BASEDIR.$fileimgx);
imagejpeg(thumb(imagecreatefromjpeg(BASEDIR.$fileimgx)), IMAGES.$fileimgx);
break;
case $filetypes[2]:
case $filetypes[3]:
$fileimgx = word().".png";
move_uploaded_file($filetemp, BASEDIR.$fileimgx);
imagejpeg(thumb(imagecreatefrompng(BASEDIR.$fileimgx)), IMAGES.$fileimgx);
break;
case $filetypes[4]:
$fileimgx = word().".gif";
move_uploaded_file($filetemp, BASEDIR.$fileimgx);
imagejpeg(thumb(imagecreatefromgif(BASEDIR.$fileimgx)), IMAGES.$fileimgx);
break;
}
}
}
}
}

@unlink(BASEDIR.$fileimgx);

Funkciji:


function word() {
$length = 6;
$pattern = "1234567890abcdefghijklmnopqrstuvwxyz";

for ($i = 0; $i < $length; $i++) {
if (isset ($key)) $key .= $pattern{rand (0, 35)};
else $key = $pattern{rand (0, 35)};
}

return $key;
}

function thumb($img) {
$w = 50; $h = 50;
$copy = imagecreatetruecolor ($w, $h);
imagecopyresampled ($copy, $img, 0, 0, 0, 0, $w, $h, imagesx ($img), imagesy ($img));
imagedestroy ($img);

return $copy;
}

Hvala za odgovore!


všeč(0) ni všeč(0) spam(0)
#8

Lombi:

Imas slucajno kak specificen slovenski host?




Ne delam za sebe stran (posledično ni moj server), zato nevem točno kateri server je... mislim da siel.



Sem šel v nastavitve gledat in je memory limit nastavljen na 64MB. Torej, da dam en konkreten primer kaj hočem naredit.. npr. da iz neke strani (naprimer iz select menuja) parsam kraje, rečmo par tisoč. Torej mi po določenem številu krajev zmanjka "bajtov" za dokončno izvršitev. Je možno stvar rešit kako drugače?


všeč(0) ni všeč(0) spam(0)
#3

Hm... torej sploh ni mogoče. Kako bi pa lahko rešil problem, če neko stvar parsam in pride na stran veliko "bajtov"... je sploh možno?


všeč(0) ni všeč(0) spam(0)
#

Pozdravljeni!



Zanima me, če lahko znotraj dokumenta nastavim memory limit ali moram stvar urejati preko strežnika? Probal sem z:


ini_set("memory_limit","512M");

a še vedno vrača napako: Fatal error: Out of memory (allocated 67633152) (tried to allocate 42 bytes) in...



Hvala za odgovore!


všeč(0) ni všeč(0) spam(0)
#4

Sicer se ne spoznam na wordpress, ampak našel sem neko funkcijo.. http://codex.wordpress.org/FunctionReference/getarchives, če ti mogoče ustreza ali pa plugin recent posts.



Sicer pa greš čez spremenljivke z tem, tik preden jih izpišeš (pač nastaviš namesto znaka kodo).


$najdi = array("znak za č",..);
$zamenjaj = array("koda za č",..);
$spremenljivka = str_replace($najdi, $zamenjaj, $spremenljivka);
všeč(0) ni všeč(0) spam(0)
#4

Super, hvala. Očitno sem površno prebral dokumentacijo.


všeč(0) ni všeč(0) spam(0)