Temos pavadinimas: WordPress, Shopify ir PHPFusion programuotojų bendruomenė :: Remove() funkcija
Parašė WhiZz· 2015 Bal. 20 23:04:27
#1
Sveiki fusioniečiai! :)
Gal kas turite ar bent nutuokite kaip reikia pasidaryti funkciją kuri šalina dainas iš duomenų bazės, kurios nebegzistuoja zippyshare.com.
Kažkada tą funkciją turėjau, bet teko perrašyti windows ir visi failai pranyko.
Jeigu gerai pamenu kažkas panašaus buvo į šitą. Mano pagrindinis klausimas būtų kaip aptikti ar daina dar egzistuoja zippyshare.com talpykloje. :?
function Remove($urla) {
if(!preg_match('/locale/i', $urla)) {$idx = explode('/', $urla); $idx=$idx[4]; } else {$idx = explode('=', $urla);
$idx=$idx[2]; }
$urla = explode('.', $urla);
$urla = str_replace('http://www', '', $urla['0']);
// Kažkokia kodo dalis kuri parodo yra daina dar, ar nėra;
}
Redagavo WhiZz· 2015 Bal. 20 23:04:17
Parašė avice· 2015 Bal. 24 11:04:06
#2
function checksong($server,$file) {
$ch = curl_init("http://www.zippyshare.com/rest/publicStats/forFile/www".$server."/".$file."?");
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1229.79 Safari/537.4');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$x=json_decode(curl_exec($ch),true);
return ($x['filename']==NULL?false:true);
curl_close($ch);
}
//www43.zippyshare.com/v/2668248/file.html
if(!checksong('43','2668248')){
// trinam
}
Atsimenu buvau ir lengvesi varianta sugalvojes kuris sukasi labai greitai, kuris neatsiuncia turinio i serveri, o tiesiog patikrina headers, jei puslapis neegzistuoja tuomet dainos nera, bet neberandu.
Redagavo avice· 2015 Bal. 24 11:04:41
Parašė WhiZz· 2015 Bal. 25 15:04:27
#3
Jo čia su cURL, o ten kazkas su headers atrodo ir buvo, nepamenu atrodo is kazkokio muzikos tinklapio klono lygir buvau ištraukes, galbūt mp3on ar kažkas tokio, bet dabar neberandu tos funkcijos jame :). Pamenu, kad tik pavadinimas jos buvo zippyRemove()
Redagavo WhiZz· 2015 Bal. 25 15:04:34
Parašė WhiZz· 2015 Bal. 25 16:04:39
#4
Panaudojus tavo funkciją dainų liko 0....
Gerai, kad turėjau backup, bet dabar milijonas klaidų atsirado su charset ir pnš....
+ 1000 dainų mažiau
Parašė avice· 2015 Bal. 26 13:04:52
#5
tai taspats ir buvo curl tik tikrinamas jo headers o ne turinys...
Parašė WhiZz· 2015 Bal. 30 13:04:37
#6
Bet krc istrina dainas is webo visas, o ne neveikiancias.
Padariau, kad ištrauktų visus dainų linkus, explodint'u failo ID ir serverio ID, tada panaudojau tavo funkcija ir viską ištrynė.
Parašė avice· 2015 Geg. 1 11:05:02
#7
tai tu paziurek kur klaida su ta daina kuri veikia bet visvien istrina.
Parašė WhiZz· 2015 Geg. 2 00:05:11
#8
kas svarbiausia, kad visas istryne, o ne viena. Ant localhost'o kai tikrinau lygiai taip pat tai viskas normaliai.
Parašė avice· 2015 Geg. 4 15:05:08
#9
gi patikrink rankiniu budu isskaidyk ta funkcija ir ziurek kas ne taip dirba.
$ch = curl_init("http://www.zippyshare.com/rest/publicStats/forFile/www".$server."/".$file."?");
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1229.79 Safari/537.4');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$x=curl_exec($ch);
echo $x;
print_r(json_decode($x,true));