Php script

Βοήθεια λύσεις και νέα από τον χώρο των open source ή έτοιμων εφαρμογών που έχουν φτιαχτεί με την PHP όπως oscommerce, κ.α.

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
id12586
στις καρδιές μας
Δημοσιεύσεις: 8387
Εγγραφή: 23 Ιουν 2003 23:28
Τοποθεσία: Far away
Επικοινωνία:

Php script

Δημοσίευση από id12586 » 02 Μαρ 2008 20:06

Δεν μπορώ να γίνω πιο περιγραφικός στον τίτλο μου γιατί δεν ξέρω γιατί ακριβώς ψάχνω.

Έχω ένα .txt με λέξεις.
Θέλω αν είναι εύκολο ένα scipt που να κάνει έλεγχο για διπλοεγγραφές και να τις σβήνει όταν τις βρει.

->Το κάθε όνομα ειναι μονο του σε κάθε line.
-> Περιλαμβάνει και ελληνικά ονόματα, αλλά είναι σε utf8.

Guys, βοήθεια! :(
Chris at your Services
ΕικόναSacame de Aqui

Άβαταρ μέλους
nikolas27
Honorary Member
Δημοσιεύσεις: 836
Εγγραφή: 11 Ιαν 2006 12:26
Τοποθεσία: ροδος

Php script

Δημοσίευση από nikolas27 » 02 Μαρ 2008 20:23

http://www.softpedia.com/get/Office-too ... tware.shtm

ή text monkey pro ...δοκιμασμενο!

Άβαταρ μέλους
KGP
Honorary Member
Δημοσιεύσεις: 5857
Εγγραφή: 18 Ιούλ 2002 01:50
Τοποθεσία: Mr Wonderful

Php script

Δημοσίευση από KGP » 03 Μαρ 2008 01:11

opa poli kali idea den ksereis poses fores elega oti chriazomai kati tetio...

ascheto ektos apo auto tis softpedia iparchei kanena allo? kai idietera me to "katalilo kostos"? (diladi dorean...)
*Στην Ελλάδα δεν χρειάζεται να σκέφτεσαι...χάνεις πολύτιμο χρόνο!
*"The power of accurate observation is frequently called cynicism by those who don't have it." -George Bernard Shaw (1856-1950)
*The purpose of argument should not be victory, but progress.

Άβαταρ μέλους
dik_
Δημοσιεύσεις: 476
Εγγραφή: 07 Ιουν 2007 11:28

Php script

Δημοσίευση από dik_ » 03 Μαρ 2008 06:17

Κώδικας: Επιλογή όλων

<?php
define&#40;"IN", "./inputfile.txt"&#41;;
define&#40;"OUT", "./output.txt"&#41;;

$pass = fopen&#40;IN, "r"&#41;;
$temp = fopen&#40;OUT, "w+"&#41;;
$temp2 = fopen&#40;OUT, "w+"&#41;;
if &#40;$pass&#41; &#123;
	while &#40;!feof&#40;$pass&#41;&#41; &#123;
		$line1 = trim&#40;fgets&#40;$pass&#41;&#41;;
		rewind&#40;$temp&#41;;
		$dupe = false;
		while &#40;!feof&#40;$temp&#41;&#41; &#123;
			$line2 = trim&#40;fgets&#40;$temp&#41;&#41;;
			$dupe = $line1 == $line2;
			echo $line1." - ".$line2."\n";
			if &#40;$line1 == $line2&#41;&#123;
				$dupe = true;
				break;
			&#125;
		&#125;
		if &#40;!$dupe&#41;
			fwrite&#40;$temp2, $line1."\n"&#41;;
	&#125;
	fclose&#40;$pass&#41;;
    fclose&#40;$temp&#41;;
&#125;
?>
Δεν το τέσταρα αρκετά, π.χ. με ελληνικά. Γνωστό bug: προσθέτει μια κενή γραμμή στο τέλος λόγω του ."\n", μπορεί να αφαιερεθεί όμως... Ολοκληρώνει σε O(n^2) χρόνο για n γραμμές, οπότε θα υπάρχουν και καλύτερες λύσεις, αλλά χρειάζεται μόνο n χώρο...

Άβαταρ μέλους
nikolas27
Honorary Member
Δημοσιεύσεις: 836
Εγγραφή: 11 Ιαν 2006 12:26
Τοποθεσία: ροδος

Php script

Δημοσίευση από nikolas27 » 03 Μαρ 2008 08:25

KGP έγραψε:opa poli kali idea den ksereis poses fores elega oti chriazomai kati tetio...

ascheto ektos apo auto tis softpedia iparchei kanena allo? kai idietera me to "katalilo kostos"? (diladi dorean...)
φιλε Kgb το text file monkey δεν εχει περιορισμους για 15 μερες. Για δωρεαν δεν ξερω :)

id12586
στις καρδιές μας
Δημοσιεύσεις: 8387
Εγγραφή: 23 Ιουν 2003 23:28
Τοποθεσία: Far away
Επικοινωνία:

Php script

Δημοσίευση από id12586 » 03 Μαρ 2008 13:08

dik_ έγραψε:

Κώδικας: Επιλογή όλων

<?php
define&#40;"IN", "./inputfile.txt"&#41;;
define&#40;"OUT", "./output.txt"&#41;;

$pass = fopen&#40;IN, "r"&#41;;
$temp = fopen&#40;OUT, "w+"&#41;;
$temp2 = fopen&#40;OUT, "w+"&#41;;
if &#40;$pass&#41; &#123;
	while &#40;!feof&#40;$pass&#41;&#41; &#123;
		$line1 = trim&#40;fgets&#40;$pass&#41;&#41;;
		rewind&#40;$temp&#41;;
		$dupe = false;
		while &#40;!feof&#40;$temp&#41;&#41; &#123;
			$line2 = trim&#40;fgets&#40;$temp&#41;&#41;;
			$dupe = $line1 == $line2;
			echo $line1." - ".$line2."\n";
			if &#40;$line1 == $line2&#41;&#123;
				$dupe = true;
				break;
			&#125;
		&#125;
		if &#40;!$dupe&#41;
			fwrite&#40;$temp2, $line1."\n"&#41;;
	&#125;
	fclose&#40;$pass&#41;;
    fclose&#40;$temp&#41;;
&#125;
?>
Δεν το τέσταρα αρκετά, π.χ. με ελληνικά. Γνωστό bug: προσθέτει μια κενή γραμμή στο τέλος λόγω του ."\n", μπορεί να αφαιερεθεί όμως... Ολοκληρώνει σε O(n^2) χρόνο για n γραμμές, οπότε θα υπάρχουν και καλύτερες λύσεις, αλλά χρειάζεται μόνο n χώρο...
Ευχαριστώ θα το τσεκάρω και θα ποστάρω.

Ευχαριστώ και πάλι,
Chris at your Services
ΕικόναSacame de Aqui

Άβαταρ μέλους
cherouvim
Script Master
Δημοσιεύσεις: 3137
Εγγραφή: 13 Ιούλ 2005 22:56
Τοποθεσία: Athens, Greece
Επικοινωνία:

Php script

Δημοσίευση από cherouvim » 03 Μαρ 2008 16:23

Πόσες γραμμές θα επεξεργαστεί περίπου το script;

id12586
στις καρδιές μας
Δημοσιεύσεις: 8387
Εγγραφή: 23 Ιουν 2003 23:28
Τοποθεσία: Far away
Επικοινωνία:

Php script

Δημοσίευση από id12586 » 03 Μαρ 2008 16:24

Γύρω στις 200-300..
Chris at your Services
ΕικόναSacame de Aqui

Άβαταρ μέλους
KGP
Honorary Member
Δημοσιεύσεις: 5857
Εγγραφή: 18 Ιούλ 2002 01:50
Τοποθεσία: Mr Wonderful

Php script

Δημοσίευση από KGP » 03 Μαρ 2008 18:32

nikolas27 έγραψε:
KGP έγραψε:opa poli kali idea den ksereis poses fores elega oti chriazomai kati tetio...

ascheto ektos apo auto tis softpedia iparchei kanena allo? kai idietera me to "katalilo kostos"? (diladi dorean...)
φιλε Kgb το text file monkey δεν εχει περιορισμους για 15 μερες. Για δωρεαν δεν ξερω :)
ego evala na mou kseskartarei ta contacts lists tou outlook pou echo pou einai kamia 50-60k kai mou ekane ta misa giati leei prepei na to agoraso...


ochi tipota allo itan kai kati pou ithela na to kano apo kero kathos backup sto backup kai me malakiesLogo format ena 20-30% einai sigoura duplicate...kai "trouplikate kai tetraplikate kai paei legontas" kai me aformi to thread auto vrika tin aformi na to dokimaso...

dik_ echo agglikous kai px ellinikous charaktires eiparchei provlima? (den to echo dokimasei akoma to script sou apla skeftomai na ta "petakso ola" se ena archio apo to excel kai polla contacts echoun periergous charaktires -aravikous, cyrilikous, koreatikous etc...-
*Στην Ελλάδα δεν χρειάζεται να σκέφτεσαι...χάνεις πολύτιμο χρόνο!
*"The power of accurate observation is frequently called cynicism by those who don't have it." -George Bernard Shaw (1856-1950)
*The purpose of argument should not be victory, but progress.

Απάντηση

Επιστροφή στο “PHP έτοιμες εφαρμογές”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης