Script-Abbruch.........

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Script-Abbruch.........

    Hallo!
    Ich hab ein Script zum Datenimport, das auch lokal immer super funktioniert. Wenn ich es aber auf die Domain kopiere, und es dort ausführe, bricht es immer OHNE FEHLERMELDUNG ab! Ohne irgendeinen Grund hört es auf! Keine Fehlermeldung, kein garnix! Im Code gibt es nur 2 exit()-Anweisungen, die aber beide mit einer Fehlermeldung verbunden sind!
    Also, weiß jemand, woran das leigen kann, dass PHP einfach mit der Scriptausführung abbricht?

    Wär schön, wenn mir jemand helfen könnte....

    ciao

  • #2
    zeig mal dein Script

    php-Entwicklung | ebiz-consult.de
    PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
    die PHP Marktplatz-Software | ebiz-trader.de

    Kommentar


    • #3
      Ähm, dir ist klar, dass das 275 Zeilen cote sind, oder?

      edit: Ach ja, falls ich ihn posten, sollte, wie schaff ich´s, dass der Code schön eingerückt bleibt? Ich hab´s schon mal versucht, ´s ging aber nicht, nix was eingerückt!

      [Editiert von JKay am 11-12-2001 um 15:03]

      Kommentar


      • #4
        hmm,

        verwende den Code Tag also [ code ] Dein Code [ /code ] aber die Leerzeichen weglassen , zwischen [ und c

        Kommentar


        • #5
          Ich hoffe, ihr steigt durch!

          Code:
          <?php
          if(!$sector)
          	$sector = "Unbekannt";
          //////////////////////////////////////////////////
          $sector_id = sector(kill_numbers($sector));		//
          //$sector_id = 0;								//
          //////////////////////////////////////////////////
          $lines = 6;
          //////////////////////////////////////////
          $file = file( "txt/".$sector.".txt");	//
          //$file = file( "txt/test.txt");		//
          //////////////////////////////////////////
          $anz = sizeof( $file);
          echo "Anzahl Zeilen: <b>$anz</b><br>";
          flush();
          set_time_limit(120);
          if( !$start)
          	if( trim($file[0]) == "")
          	{
          		$file_empty = 1;
          		$start = 0;
          	}
          	else
          		$start = 0;
          if( $file[0] != "")
          {
          	$start = 0;
          	$file_empty = 2;
          }
          else
          {
          	$file_empty = 0;
          }
          echo "<table border=1>";
          echo "<tr>";
          echo "<td>name</td><td>tel</td><td>str</td><td>plz</td><td>ort</td>";
          echo "</tr>";
          $doc_anz = 0;
          for( $Lauf = $start; $Lauf < $anz; $Lauf++)
          {
          	if( trim($file[$Lauf]) == "")
          	{
          		$file_empty++;
          	}
          	else
          	{
          		if( $file_empty >= 2)
          		{// We´ve got a doc!
          			$doc_anz++;
          			$doc_id = get_next_doc_id();
          			$tel_pos = strrpos( $file[$Lauf], "(");
          			if( $tel_pos === false)
          				$tel_pos = strlen( $file[$Lauf]);
          			$doc_name = trim(substr($file[$Lauf], 0, $tel_pos -1));
          			if( has_only_number($file[$Lauf+1]))
          			{// Wenn +1 nur Nummern hat, dann ist Tel verrutscht.
          				$doc_tel = substr($file[$Lauf], $tel_pos) . $file[$Lauf+1];
          				$telinline = 1;
          			}
          			else
          			{
          				$doc_tel = substr($file[$Lauf], $tel_pos);
          				$telinline = 0;
          			}
          			$file1 = trim($file[$Lauf+1]);
          			if( trim($file[$Lauf+2]) == "" && trim($file[$Lauf+3]) == "")
          			{// Wenn +2 UND +3 = "", dann gibt es nur noch plz + ort in +1
          				$doc_plz = get_plz( $file1);
          				$doc_ort = get_city( $file1);
          			}
          			elseif(trim($file[$Lauf+3]) == "")
          			{
          				$doc_plz = get_plz( $file[$Lauf+2]);
          				$doc_ort = get_city( $file[$Lauf+2]);
          			}
          			else
          			{
          				$doc_plz = get_plz( $file[$Lauf+3]);
          				$doc_ort = get_city( $file[$Lauf+3]);
          			}
          			if( $telinline == 0 && trim($file[$Lauf+2]) != "")
          			{// Wenn telinline = 0 und +2 nicht leer, dann ist Tel in +1
          				$doc_str = trim($file[$Lauf+1]);
          			}
          			elseif( $telinline == 1 && trim($file[$Lauf+3]) != "")
          			{// Wenn telinline = 1 und +3 nicht leer, dann ist Tel in +2
          				$doc_str = trim($file[$Lauf+2]);
          			}
          			if( strlen($doc_plz) < 5)
          			{// Wenn Länge von PLZ kleiner 5, dann ist es eine ungültige PLZ. Aus Datenbank holen...
          				$doc_plz = get_db_plz( $doc_ort);
          			}
          			if( strlen($doc_ort) == 0 && !has_only_number( $doc_plz))
          			{
          				$doc_ort = $doc_plz;
          				$doc_plz = get_db_plz( $doc_ort);
          			}
          			elseif( strlen( $doc_ort) < 3 && has_only_number( $doc_plz))
          			{
          				$doc_ort = get_db_ort( $doc_plz);
          			}
          			city_check( $doc_plz, $doc_ort);
          			
          			if( $action == "really_add")
          			{
          				$sql = "INSERT INTO docs( doc_id, doc_name, doc_titel, doc_str, doc_plz, doc_tel, sector_id)";
          				$sql .= "values( $doc_id, '$doc_name', '$doc_titel', '$doc_str', '$doc_plz', '$doc_tel', $sector_id)";
          				mysql_query( $sql);
          			}
          			else
          			{
          				//echo "<tr><td>$doc_name</td><td>$doc_tel</td><td>$doc_str</td><td>$doc_plz</td><td>$doc_ort</td></tr>\n";
          			}
          			unset( $file_empty);
          			unset( $doc_name);
          			unset( $doc_tel);
          			unset( $doc_str);
          			unset( $doc_plz);
          			unset( $doc_ort);
          			set_time_limit(120);
          		}
          	}
          }
          echo "</table>";
          echo "Fertig<br>";
          if( $action != "really_add")
          {
          	echo "<a href=\"$PHP_SELF?sector=$sector&action=really_add\">In Datenbank schreiben</a><br>";
          }
          echo "$doc_anz Ärzte wurden importiert!";
          
          function sector( $sector_name)
          {
          	$query = mysql_query( "SELECT * FROM sector WHERE sector_name = \"$sector_name\"");
          	if( mysql_num_rows( $query) == 0)
          	{
          		$query = mysql_query( "SELECT * FROM sector ORDER by sector_id DESC");
          		$array = mysql_fetch_array( $query);
          		$sector_id = $array["sector_id"];
          		$sector_id++;
          		mysql_query( "INSERT INTO sector(sector_id, sector_name) VALUES( $sector_id, \"$sector_name\")");
          		return $sector_id;
          	}
          	$array = mysql_fetch_array( $query);
          	$sector_id = $array["sector_id"];
          	return $sector_id;
          }
          function get_next_doc_id()
          {
          	$sql = "SELECT doc_id FROM docs order by doc_id DESC";
          	$query = mysql_query( $sql);
          	$array = mysql_fetch_array( $query);
          	$doc_id = $array["doc_id"];
          	$doc_id++;
          	return $doc_id;
          }
          function city_check( $plz, $ort)
          {
          	$query = mysql_query( "SELECT * FROM city WHERE ort_plz like \"%".$plz."%\" AND ort_name like \"%".$ort."%\"");
          	if( mysql_num_rows( $query) == 0)
          	{
          		mysql_query( "INSERT INTO city( ort_plz, ort_name) VALUES( '$plz', '$ort')");
          	}
          }
          function get_db_plz( $ort)
          {
          	global $Lauf, $doc_ort, $doc_plz;
          	$query = mysql_query( "SELECT * FROM city WHERE ort_name like \"%".$ort."%\"");
          	if( mysql_num_rows( $query) == 0)
          	{
          		echo "$doc_plz, $doc_ort<br>";
          		echo "$doc_plz konnte in der Datenbank nicht gefunden werden! Zeile $Lauf";
          		exit;
          	}
          	$array = mysql_fetch_array( $query);
          	$doc_plz = $array["ort_plz"];
          	return $doc_plz;
          }
          function get_db_ort( $plz)
          {
          	global $Lauf, $doc_ort, $doc_plz;
          	$query = mysql_query( "SELECT * FROM city WHERE ort_plz like \"%".$plz."%\"");
          	if( mysql_num_rows( $query) == 0)
          	{
          		echo "$doc_plz, $doc_ort<br>";
          		echo "$doc_ort konnte in der Datenbank nicht gefunden werden! Zeile $Lauf";
          		exit;
          	}
          	$array = mysql_fetch_array( $query);
          	$doc_name = $array["ort_name"];
          	return $doc_name;
          }
          function get_plz( $line)
          {
          	$line = str_replace( "[", "", $line);
          	$line = str_replace( "]", "", $line);
          	$line = str_replace( ".", "", $line);
          	$line = str_replace( ",", "", $line);
          	$line = str_replace( "  ", " ", $line);
          	$plz_ort = explode (" ", trim($line));
          	$plz = $plz_ort[0];
          	return $plz;
          }
          function get_city( $line)
          {
          	$line = str_replace( "[", "", $line);
          	$line = str_replace( "]", "", $line);
          	$line = str_replace( ".", "", $line);
          	$line = trim(str_replace( "  ", " ", $line));
          	$plz_ort = explode (" ", $line);
          	if( sizeof( $plz_ort) > 2)
          	{
          		$ort = "";
          		for( $Lauf = 1; $Lauf <= sizeof( $plz_ort); $Lauf++)
          		{
          			$ort .= " ".trim($plz_ort[$Lauf]);
          		}
          		//$ort = trim( $ort);
          		$ort = trim(kill_numbers($ort));
          		//$ort = "$ort($line)";
          	}
          	else
          	{
          		$ort = trim($plz_ort[1]);
          	}
          	if( substr( $ort, -1) == "," || ( substr( $ort, 0, 1) == "(" && substr( $ort, -1) == ")") || substr( $ort, -1) == "*")
          	{
          		$ort = substr( $ort, 0, strlen( $ort) - 1);
          	}
          	if( substr( $ort, 0, 1) == "(")
          	{
          		$ort = substr( $ort, 1);
          	}
          	//echo $plz_ort[0]." ".$plz_ort[1];
          	return $ort;
          }
          function kill_numbers( $string)
          {
          	for( $Lauf = 0; $Lauf < 10; $Lauf++)
          	{
          		$string = str_replace( "$Lauf", "", $string);
          	}
          	return $string;
          }
          function has_only_number( $string)
          {
          	$string = trim($string);
          	if( strlen( $string) == 0)
          		return false;
          	for( $Lauf = 0; $Lauf < strlen( $string); $Lauf++)
          	{
          		$item = substr( $string, $Lauf, 1);
          		if( !has_number( $item) && $item != "(" && $item != ")" && $item != " " && $item != "-")
          		{
          			return false;
          		}
          	}
          	return true;
          }
          function has_number( $string)
          {
          	$old_string = $string;
          	for( $Lauf = 0; $Lauf < 10; $Lauf++)
          	{
          		$string = str_replace( "$Lauf", "", $string);
          	}
          	if( $string != $old_string)
          	{
          		return true;
          	}
          	return false;
          }

          Kommentar


          • #6
            hmm,

            kannst du auch mal einen Beispielaufruf posten, denn scheinbar werden ja Variablen wie $anz übergeben oder hab ich was übersehen ?

            Kommentar


            • #7
              hm, ja du hast was übersehen!
              Code:
              if( !$start)
              	if( trim($file[0]) == "")
              	{
              		$file_empty = 1;
              		$start = 0;
              	}
              	else
              		$start = 0;
              Datenformat:
              Code:
              Name, vorname (0041)123456
                Dumme Strasse 31b²  
                22415 Hamburg

              Kommentar


              • #8
                hmm,

                morgen schau ichs mir an , Feierabend

                Kommentar


                • #9
                  Hallo!
                  Das Problem hat sich erledigt! ES lag daran, dass bei meinem Host die "CDU-Runtime-Zeit" auf 6 Sekunden eingestellt ist.

                  ciao

                  Kommentar


                  • #10
                    Original geschrieben von JKay

                    Hallo!

                    .... "CDU-Runtime-Zeit" auf 6 Sekunden eingestellt ist.



                    ciao
                    hehe, die haben es auch nicht länger verdient *gg*

                    Kommentar


                    • #11
                      na hoffentlich gibt das kein Kandidatenkonflikt
                      außerdem müßte man mal dringend die CDU-Error-Reportings einschalten, Ehrenwort bringt in dem Fall nix

                      Kommentar


                      • #12
                        lol,

                        meinst du das schwarzekassen.log , das ist IMHO doch wegen eines Speicherüberlaufs gekillt worden, waren einfach zuviele Einträge vorhanden

                        Kommentar


                        • #13
                          deshalb gab's auch einen Speichercrash und alle gespeicherten Ehrenwörter (sicherheitshalber verkryptet) waren weg

                          Kommentar

                          Lädt...
                          X