Visualizzazione risultati 1 fino 5 di 5

Discussione: unexpected T_STRING su linea 115: Aiuto!

  1. #1
    Guest

    Predefinito unexpected T_STRING su linea 115: Aiuto!

    Ciao a tutti!

    Ho creato una pagina in php, per generare un file KML (per google earth). Quando apro la pagina mi viene il seguente errore:

    Parse error: syntax error, unexpected T_STRING in /membri/simonecerundolo/googlemapsgeo.php on line 115

    guardando il codice HTML, la linea 115 è questa:

    print OUT "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
    non riesco a capire dov'è l'errore.

    potreste aiutarmi?

    Ciao

  2. #2
    Guest

    Predefinito

    Cancella OUT


    ciao!

  3. #3
    Guest

    Predefinito

    ho cancellato OUT, ma mi riviene lo stesso errore.

    Però ora vi invio l'intero codice php (preso dal sito originale):

    Codice PHP:
    #!/usr/bin/perl
    # This script will convert GeoIP data obtained from maxmind
    # to Google Earth's KML format for easy viewing. It also
    # supports filters to narrow down interesting areas.
    #
    # You can get latest GeoIP database here:
    # [url]http://www.maxmind.com/app/geolitecity[/url]
    # Note: Click on "Download the latest GeoLite City CSV Format" link
    # and extract all files in the same directory as this executable
    # The first time you execute, you will have to generate a new
    # database optimized for operations of this script.
    #
    # Usage:
    # geoip2kml -o output_file -f countrycode_or_city_filter
    #
    # Developed by [email]iphelix@midnightresearch.com[/email]

    use Socket;
    use Getopt::Std;

    my %options;
    getopt('of',\%options);
    my $output_file = $options{o};
    my $filter = $options{f};

    unless (defined $output_file) {
    print '
    _____ __________.____
    / \______ \ |
    / \ / \| _/ |
    / Y \ | \ |___
    \____|__ /____|_ /_______ \
    \/ \/ \/
    '."\t\tpresents...\n\n";

    print "geoip2kml - Converts GeoIP information to Google Earth's KML format\n";
    print "For questions and bug reports contact: iphelix at midnightresearch.com\n\n";
    print "Typical Usage: ./geoip2kml -o filename.kml -f US\n";
    print " -o filename - specify output KML file name to use with Google Earth\n";
    print " -f filter - specify filter (regex) to use when generating KML file\n";
    print " e.g -f US will only show US locations or\n";
    print " -f \"San Francisco\" will display all ips assigned\n";
    print " to San Francisco and South San Francisco area\n";
    exit 1;
    }

    ###############################################################################
    # A) First check if GeoLiteCity-Ids exists which is important for future steps
    unless(-e "GeoLiteCity-Ids.csv") {
    print "[!!!] I did not detect GeoLiteCity-Ids.csv file!\n";
    print "[ * ] Generating GeoLiteCity-Ids.csv (it might take awhile)...\n";

    my $temp;
    open(BLOC,"GeoLiteCity-Blocks.csv") || die "[!!!] Couldn't open GeoLiteCity-Blocks.csv\n";

    # skip first two lines
    #read BLOC, $temp, 1; read BLOC, $temp, 1;

    my @ids;
    my ($startIpNum,$endIpNum,$locId);

    my $counter=-1;
    while(<BLOC>) {
    $counter++;
    if($counter < 2) { next; } # skip first two lines
    s/\"//g;
    ($startIpNum,$endIpNum,$locId) = split(/,/);
    $ids[$locId] = $ids[$locId].$startIpNum.'-'.$endIpNum."|";
    }
    close BLOC;

    my $counter=0;

    print "[ * ] Done loading, now sorting ".@ids." elements\n";

    open(IDS,">GeoLiteCity-Ids.csv") || die "[!!!] Couldn't open GeoLiteCity-Ids.csv\n";

    foreach (@ids) {
    print IDS $counter.','.$_."\n";
    unless($counter % 100000) { print "$counter - $_\n"; }
    $counter++;
    }
    close IDS;

    }


    ###############################################################################
    # B) Load GeoLiteCity-Ids file and split values into array
    my $counter = 0;
    my @blocks;

    open(BLOC, "GeoLiteCity-Ids.csv") || die "[!!!] Couldn't open GeoLiteCity-Ids.csv\n";
    print "[ * ] Loading GeoLiteCity database...\n";
    while(<BLOC>) {
    my ($blocId,$ips) = split(/,/);
    $blocks[$blocId] = $ips;
    $counter++;
    }
    close BLOC;
    print "[ * ] Finished loading ".@blocks." elements\n";

    # C) Start generating KML file
    print "[ * ] Generating KML file...\n";
    $counter = 0;
    open(OUT, ">$output_file");

    print OUT "<?xml version=\"1.0" encoding=\"UTF-8"?>\n";
    print OUT "<kml xmlns=\"http://earth.google.com/kml/2.1\">\n";
    print OUT "<Document>\n";
    print OUT "<Style id='small'>\n";
    print OUT " <IconStyle>\n";
    print OUT " <scale>0.5</scale>\n";
    print OUT " <Icon><href>http://maps.google.com/mapfiles/kml/paddle/grn-blank.png</href></Icon>\n";
    print OUT " </IconStyle>\n";
    print OUT "</Style>\n";
    print OUT "<Style id='medium'>\n";
    print OUT " <IconStyle>\n";
    print OUT " <scale>1.0</scale>\n";
    print OUT " <Icon><href>http://maps.google.com/mapfiles/kml/paddle/grn-blank.png</href></Icon>\n";
    print OUT " </IconStyle>\n";
    print OUT "</Style>\n";
    print OUT "<Style id='large'>\n";
    print OUT " <IconStyle>\n";
    print OUT " <scale>1.5</scale>\n";
    print OUT " <Icon><href>http://maps.google.com/mapfiles/kml/paddle/grn-blank.png</href></Icon>\n";
    print OUT " </IconStyle>\n";
    print OUT "</Style>\n";
    print OUT "<Style id='gigantic'>\n";
    print OUT " <IconStyle>\n";
    print OUT " <scale>2.0</scale>\n";
    print OUT " <Icon><href>http://maps.google.com/mapfiles/kml/paddle/grn-blank.png</href></Icon>\n";
    print OUT " </IconStyle>\n";
    print OUT "</Style>\n";
    print OUT "<Folder>\n";
    print OUT " <name>GeoIP $filter</name>\n";

    # Go through GeoLiteCity-Location file printing out data
    open(LOC, "GeoLiteCity-Location.csv") || die "[!!!] Couldn't open GeoLiteCity-Location.csv\n";
    while(<LOC>) {
    s/\"//g;
    my ($locId,$country,$region,$city,$postalCode,$latitude,$longitude,$dmaCode,$areaCode) = split(/,/);

    # skip headers and filtered locations
    if($city eq 'city' || $city eq '') { next; }
    if(defined $filter && ($country ne $filter) && ($city !~ $filter)) { next; }

    my (@ranges) = split(/\|/,$blocks[$locId]);
    pop @ranges; #remove last empty | to avoid 0.0.0.0-0.0.0.0

    my $description = "<![CDATA[\n";
    foreach (@ranges) {
    my ($startIpNum, $endIpNum) = split(/-/);
    chomp($startIpNum);
    $description .= inet_ntoa(pack('N',$startIpNum))."
    - ".inet_ntoa(pack('N',$endIpNum))."<br>\n";
    }
    $description .= "]]>\n";

    # skip cities with 0 assigned ips
    unless(@ranges) { next; }

    # Add proper styling to the icon depending on the number of IPs in the area
    my $size_style = "small";
    if($#ranges < 10) { $size_style = "small"; }
    elsif($#ranges < 100) { $size_style = "medium"; }
    elsif($#ranges < 1000) { $size_style = "large"; }
    else { $size_style = "gigantic"; }

    print OUT " <Placemark>\n";
    print OUT " <name>$city, $country</name>\n";
    print OUT " <description>".$description."</description>\n";
    print OUT " <styleUrl>#$size_style</styleUrl>\n";
    print OUT " <Point>\n";
    print OUT " <coordinates>$longitude,$latitude</coordinates>\n";
    print OUT " </Point>\n";
    print OUT " </Placemark>\n";

    $counter++;
    }
    close LOC;

    print OUT " </Folder>\n";
    print OUT "</Document>\n";
    print OUT "</kml>";

    close OUT;

    print "[ * ] Generated $counter listings\n";

    cosa devo modificare?

    ciao
    Ultima modifica di debug : 28-09-2008 alle ore 09.36.24

  4. #4
    Guest

    Predefinito

    Mi spiace, quello non è php (e non so quale linguaggio sia, forse perl), quindi non può funzionare qui su altervista.


    ciao!

  5. #5
    Guest

    Predefinito

    ok, grazie lo stesso.

    ciao
    Ultima modifica di simonecerundolo : 29-09-2008 alle ore 16.48.06

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •