| Subcribe via RSS

reciprocal link checker script

May 20th, 2008 | No Comments | Posted in php by dreamluverz


I found this code for reciprocal link checker on http://forums.digitalpoint.com/showthread.php?t=111

maybe you want to give it a shot. gudluck :)

<?php $mydomain = “www.domain.com”; // Set this to your domain $list = file_get_contents(“sites.txt”); $urls = explode (\n, $list); ini_set (default_socket_timeout, “5″); echo “<B>Checking back links to $mydomain….</B><P><FONT SIZE=-1>”; foreach ($urls as $url) { if (strlen ($url) && $url{0} != “#”) { echo $url . “<B><FONT COLOR=”; if (strpos (file_get_contents($url), $mydomain) != FALSE) { echo “GREEN> Found”; } else { echo “RED> Missing”; } echo “</FONT></B><BR>”; } } echo “</FONT>”; ?>
Tags: , , ,

xml 2 array and array to xml

May 12th, 2008 | No Comments | Posted in php by dreamluverz

I’ve tried this function with google feed but doesn’t seem to work. I haven’t look into details of it yet anyways you can try it and give it a shot. You can also use this for array to xml. Just check the link of the original post for more info.

PHP: XML to Array and backwards

Here the XML with PHP solution: XML->Array and Array->XML.
Work with it as with usual array.

Format XML->Array
_c - children
_v - value
_a - attributes



This is 1.1 :)

Example #1 (1.xml):

<ddd>
<onemore dd="55">
<tt>333</tt>
<tt ss="s1">555</tt>
<tt>777</tt>
</onemore>
<two>sdf rr</two>
</ddd>

The code:


$xml=xml2ary(file_get_contents(‘1.xml’));
print_r($xml);

Here is the Array result:


Array
(
[ddd] => Array (
[_c] => Array (
[onemore] => Array (
[_a] => Array (
[dd] => 55
)
[_c] => Array (
[tt] => Array (
[0] => Array (
[_v] => 333
)
[1] => Array (
[_a] => Array (
[ss] => s1
)
[_v] => 555
)
[2] => Array (
[_v] => 777
)
)
)
)
[two] => Array (
[_v] => sdf rr
)
)
)
)

function xml2ary(&$string) {
$parser = xml_parser_create();
xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0);
xml_parse_into_struct($parser, $string, $vals, $index);
xml_parser_free($parser);

$mnary=array();
$ary=&$mnary;
foreach ($vals as $r) {
$t=$r[‘tag’];
if ($r[‘type’]==‘open’) {
if (isset($ary[$t])) {
if (isset($ary[$t][0])) $ary[$t][]=array(); else $ary[$t]=array($ary[$t], array());
$cv=&$ary[$t][count($ary[$t])-1];
} else $cv=&$ary[$t];
if (isset($r[‘attributes’])) {foreach ($r[‘attributes’] as $k=>$v) $cv[‘_a’][$k]=$v;}
$cv[‘_c’]=array();
$cv[‘_c’][‘_p’]=&$ary;
$ary=&$cv[‘_c’];

} elseif ($r[‘type’]==‘complete’) {
if (isset($ary[$t])) { // same as open
if (isset($ary[$t][0])) $ary[$t][]=array(); else $ary[$t]=array($ary[$t], array());
$cv=&$ary[$t][count($ary[$t])-1];
} else $cv=&$ary[$t];
if (isset($r[‘attributes’])) {foreach ($r[‘attributes’] as $k=>$v) $cv[‘_a’][$k]=$v;}
$cv[‘_v’]=(isset($r[‘value’]) ? $r[‘value’] : ”);

} elseif ($r[‘type’]==‘close’) {
$ary=&$ary[‘_p’];
}
}

_del_p($mnary);
return $mnary;
}

// _Internal: Remove recursion in result array
function _del_p(&$ary) {
foreach ($ary as $k=>$v) {
if ($k===‘_p’) unset($ary[$k]);
elseif (is_array($ary[$k])) _del_p($ary[$k]);
}
}

// Array to XML
function ary2xml($cary, $d=0, $forcetag=) {
$res=array();
foreach ($cary as $tag=>$r) {
if (isset($r[0])) {
$res[]=ary2xml($r, $d, $tag);
} else {
if ($forcetag) $tag=$forcetag;
$sp=str_repeat(“\t”, $d);
$res[]=“$sp<$tag”;
if (isset($r[‘_a’])) {foreach ($r[‘_a’] as $at=>$av) $res[]=” $at=\”$av\”";}
$res[]=“>”.((isset($r[‘_c’])) ? “\n” : ”);
if (isset($r[‘_c’])) $res[]=ary2xml($r[‘_c’], $d+1);
elseif (isset($r[‘_v’])) $res[]=$r[‘_v’];
$res[]=(isset($r[‘_c’]) ? $sp : ”).“</$tag>\n”;
}

}
return implode(, $res);
}

// Insert element into array
function ins2ary(&$ary, $element, $pos) {
$ar1=array_slice($ary, 0, $pos); $ar1[]=$element;
$ary=array_merge($ar1, array_slice($ary, $pos));
}

source: http://mysrc.blogspot.com/2007/02/php-xml-to-array-and-backwards.html

Tags: , , ,

Call-time pass-by-reference has been deprecated

April 12th, 2008 | No Comments | Posted in anything under the moonlight, php by dreamluverz

Got this error and after some digging I found a solution. It was listed below. But looking back into my code I noticed that I called the function twice and used it incorrectly that caused the error!. :P Anyways, aside from that in case you encountered this error you can have the solution below :D

Warning: Call-time pass-by-reference has been deprecated - argument passed by value; If you would like to pass it by reference, modify the declaration of [runtime function name](). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. However, future versions may not support this any longer

Solution:

For the Warning: Call-time pass-by-reference, in c:\EasyPhp\apache
\php.ini set :
allow_call_time_pass_reference = true
Tags: , , ,

[function.main]: failed to open stream: Permission denied

March 4th, 2008 | No Comments | Posted in php by dreamluverz

Warning: … [function.main]: failed to open stream: Permission denied

Warning: main() [function.include]: Failed opening … for inclusion (include_path=’.:/usr/lib/php:/usr/local/lib/php’) in …

I wanna bear in mind that this error has something to do with file permission coz at first glance I just checked the path of the included file but looking closely it has something to do with the file permission. Changing it to 755 solved the issue. :P

And one more thing, I had this error_reporting(E_ALL && ~NOTICES); on my script and can’t see why my included file is not functioning. I’ve been looking what could be the error. Commented this error_reporting(E_ALL && ~NOTICES); kuala!!! I found the Warning msg! :P so be sure to comment this line when debugging your code or else you’ll get crazy looking for the error :P

Tags: , , ,

nested include/require not working php5.2

February 13th, 2008 | 1 Comment | Posted in php by dreamluverz

Suddenly happened to my scripts, some includes are not working after reconfiguring the server. According to this site w/c encountered the same issue nested includes don’t work in php5.2

I am not able to use includes or requires in nested files using php 5.2.3
(osx)

Including or Requiring files directly works.

Including files, that also have includes in them, does not.

Say you have this…

-TopDirectory
–index.php (contains include(”includes/top.php”); )
–includes (folder)
—config.php (contains echo “crap”; )
—top.php (contains include(”config.php”); )

When you load the index.php file you would expect the word “crap” to show,
but it does not. I think the getcwd is staying specific to the top folder,
so the path stays the same throughout.

This does not happen in 5.1.6

Is there a fix for this or is it PHP causing the problem?


Mike Yrabedra B^)>

Tags: , , , , , ,

differences of $_SERVER[’PHP_SELF’] - $_SERVER[’SCRIPT_NAME’] - $_SERVER[’REQUEST_URI’]

January 23rd, 2008 | No Comments | Posted in php by dreamluverz

$_SERVER[’PHP_SELF’], $_SERVER[’REQUEST_URI’], and $_SERVER[’SCRIPT_NAME’] all behave in similar ways, they return information about what file is being used. When exposed to some differnt scenarios, you can see in some cases they do behave differently. This can help you decide which is best for what you need in your script. $_SERVER[’PHP_SELF’]

  • http://www.yoursite.com/example/ — – — /example/index.php
  • http://www.yoursite.com/example/index.php — – — /example/index.php
  • http://www.yoursite.com/example/index.php?a=test — – — /example/index.php
  • http://www.yoursite.com/example/index.php/dir/test — – — /dir/test

When we use $_SERVER[’PHP_SELF’] we have the file name /example/index.php returned to us both when we did and did not actully type it in the URL.

When we appended variables to the end of it, they where truncated and again /example/index.php was returned. The only one that produced a different result was when we appended directories after the file name. In that case, it returned those directories.

$_SERVER[’REQUEST_URI’]

  • http://www.yoursite.com/example/ — – — /
  • http://www.yoursite.com/example/index.php — – — /example/index.php
  • http://www.yoursite.com/example/index.php?a=test — – — /example/index.php?a=test
  • http://www.yoursite.com/example/index.php/dir/test — – — /example/index.php/dir/test

In all of our examples, this returned exactly what we entered for the URL. It returned a plain /, the file name, the variables, and the appended directories, all just as they had been entered.

$_SERVER[’SCRIPT_NAME’]

  • http://www.yoursite.com/example/ — – — /example/index.php
  • http://www.yoursite.com/example/index.php — – — /example/index.php
  • http://www.yoursite.com/example/index.php?a=test — – — /example/index.php
  • http://www.yoursite.com/example/index.php/dir/test — – — /example/index.php

In all cases here we were returned only the file name /example/index.php regardless of if it was typed, not typed, or anything was appended to it.

source: http://php.about.com/od/learnphp/qt/_SERVER_PHP.htm

Tags: ,