Pereiti prie turinio

Rekomenduojami pranešimai

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Do you can more about PHP CURL?

 

Štai, parašiau tau būtent kodą:

 

  • „$curl_url“ - kintamasis, kuriame talpinama nuoroda (šiuo atveju „Zippyshare“).
  • „$curl_browser“ - kintamasis, kuriame talpinama naršyklės informacija (puslapis ją priims).

 

Kodo veikimas paprastas, pasiima iš nurodyto puslapio informaciją („$curl_content“ kintamasis) ir ieško nurodytos žinutės „You have requested the file“, jeigu jos neranda - atvaizduoja atitinkamą pranešimą (ten turi ir parašyti kodą, kuris ištrina iš duomenų bazės įrašą).

 

<?php

# Puslapio nuoroda (turi būti „Zippyshare“).
$curl_url = '';
# Panaudojau „Opera 51“ naršykles informaciją.
$curl_browser = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36 OPR/51.0.2830.55';

if (strpos($curl_url, 'zippyshare') !== false) {

$curl_handle = curl_init();

if (!curl_errno($curl_handle)) {

curl_setopt_array($curl_handle, array(
CURLOPT_URL => $curl_url,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HEADER => false,
CURLOPT_USERAGENT => $curl_browser,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30
));

$curl_content = curl_exec($curl_handle);

if (curl_getinfo($curl_handle, CURLINFO_HTTP_CODE) === 200) {
if (strpos($curl_content, 'You have requested the file') === false) {
	# Štai čia rašomas kodas tuo atveju, kada failas neegzistuoja.
	echo 'The file does not exists.';
} else {
	echo 'The file exists.';
}
} else {
echo 'Unexpected HTTP code.';
}

unset($curl_content);

} else {
echo 'Could not initialize a cURL handle.';
exit;
}

curl_close($curl_handle);

} else {
echo 'The specified uploader is not supported.';
}

?>

Redagavo Apache
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Štai, parašiau tau būtent kodą:

 

  • „$curl_url“ - kintamasis, kuriame talpinama nuoroda (šiuo atveju „Zippyshare“).
  • „$curl_browser“ - kintamasis, kuriame talpinama naršyklės informacija (puslapis ją priims).

 

Kodo veikimas paprastas, pasiima iš nurodyto puslapio informaciją („$curl_content“ kintamasis) ir ieško nurodytos žinutės „File does not exist on this server“, jeigu jos neranda - atvaizduoja atitinkamą pranešimą (ten turi ir parašyti kodą, kuris ištrina iš duomenų bazės įrašą).

 

<?php

$curl_url = 'http://www98.čia galimas virusas/v/8OA1gW80/file.html';
# Panaudojau „Opera 51“ naršykles informaciją.
$curl_browser = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36 OPR/51.0.2830.55';

$curl_handle = curl_init();

if (!curl_errno($curl_handle)) {

$curl_options = array(curl_setopt($curl_handle, CURLOPT_URL, $curl_url), curl_setopt($curl_handle, CURLOPT_FOLLOWLOCATION, true), curl_setopt($curl_handle, CURLOPT_HEADER, false), curl_setopt($curl_handle, CURLOPT_USERAGENT, $curl_browser), curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, true), curl_setopt($curl_handle, CURLOPT_TIMEOUT, 30));

$curl_content = curl_exec($curl_handle);

if (curl_getinfo($curl_handle, CURLINFO_HTTP_CODE) === 200) {
if (strpos($curl_content, 'File does not exist on this server') !== false) {
	# Štai čia rašomas kodas tuo atveju, kada failas neegzistuoja.
	echo 'The file does not exists.';
} else {
	echo 'The file exists.';
}
} else {
echo 'Unexpected HTTP code.';
exit;
}

unset($curl_content);

} else {
echo 'Could not initialize a cURL handle.';
exit;
}

curl_close($curl_handle);

?>

 

 

 

 

Ačiū žmogau,veikia viskas super!

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Viską pasidariau,bet jei tarkim duomenų bazėje koks 10 000 linkų reikia patikrinti,tai manau arba hostas neatlaikys arba sesijos laikas baigsis .

 

Teisingai, my love. Štai čia cron job ir ateina į pagalbą. Jeigu naudoji serveriai.lt, pateikiu naudingą nuorodą, kaip jį sukurti - http://pagalba.iv.lt/Periodinių_(cron)_užduočių_kūrimas

 

Sukurk atskirą PHP failą, kuriame nurodyk tik tą kodą, taip pat viršuje pridėk šį kodą:

ini_set('max_execution_time', 3600);

 

Pakeičiame maksimalų krovimo laiką į valandą. Deja, „Apache“ serveriui tas gali nepatikti (tikimybė, kad išjungs po 5 minučių užklausą), taigi, turėtum papildyti skriptą ir nurodyti, kad patikrintų tarkime tik 500 - 1000 įrašų, o kitus - truputį vėliau, taipogi nurodyti paskutinį tikrinimo numerį, jog galėtų sekantį kartą pradėti tik nuo to numerio.

 

Pirmiausiai pabandyk be viso šito, jei veiks, tai gerai (neprisimenu jų nustatymų). Ir rekomenduočiau daryti šį tikrinimą kas kokias 3 dienas ar daugiau (naktį).

 

http://pagalba.iv.lt/Periodinių_(cron)_užduočių_kūrimas

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Ir logiškai pamąsčius, gali padaryti statistiką, kiek rezultatų pašalino ir kiek ne. Tarkime:

 

$count = 0; # Pridėk viršuje, prieš ciklą.

++$count; # Čia tik cikle. Po ciklo turėsi rezultatą šiame kintamajame ir galėsi jį panaudoti.

 

Jeigu kažkas nesigauna, būtinai rašyk, my love, šis forumas ir yra skirtas vieniems kitiems padėti. ^_^

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Radau mažą problemą, scriptas nepripažysta "File has expired and does not exist anymore on this server" klaidos,ir praleidžiau failą kaip egzistuojantį

 

Pataisiau, visai pamiršau, kad gali būti kitas klaidos pranešimas. Šįkart padariau, kad patikrintų tik „You have requested the file“ pranešimą, jeigu jo nėra, užskaitys kaip neegzistuojantį. Jeigu „ZippyShare“ atnaujins kažką, šį skriptą irgi turėsi atnaujinti (nors nemanau, tiek metų nebuvo atnaujinimo iš dizaino pusės)...

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Viskas puikiai veikia,dėkingas Apache !

Nekuriant naujos temos,gal įmanoma padaryti scriptą tokį kaip,failų įkėlimas per mano web į zippyshare. sugeneruotą zippy linką įrašytų į mano duomenų bazę,būtų tobulą jei dar ir pavadinimą failo įrašytų kartu :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...