- Ad -
php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 03-10-2002, 15:01
bastian
 Registrierter Benutzer
Links : Onlinestatus : bastian ist offline
Registriert seit: Aug 2001
Beiträge: 492
bastian ist zur Zeit noch ein unbeschriebenes Blatt
Standard txt öffnen, vars ändern und wieder speichern...

hallo zusammmen,
möchte mit flash und php ne txt-datei ändern:
PHP-Code:
<?
$datei 
fopen("textdatei.txt","w+");

rewind($datei);
fwrite($datei"&text=" .$text"&text2=" .$text2.);
fclose($datei);

?>
leider passiert da rein garnix.

wenn ich aber nur eine variable ändere, funzt alles super,
dann sieht das script folgendermassen aus.

PHP-Code:
<?
$datei 
fopen("textdatei.txt","w+");

rewind($datei);
fwrite($datei"&text=".$text."&");
fclose($datei);

?>
wo liegt der fehler?
Mit Zitat antworten
  #2 (permalink)  
Alt 03-10-2002, 15:08
beebob
 PHP Junior
Links : Onlinestatus : beebob ist offline
Registriert seit: Jul 2002
Ort: Köln
Beiträge: 604
beebob ist zur Zeit noch ein unbeschriebenes Blatt
Standard

wieso rewind? ich glaub, du solltest das besser mit serialize machen.

wenn du an's ende der datei was anhängen willst, dann fopen("file","a"), oder am anfang: fopen("file","w").

wenn du jeweils ein + ("w+") dranhängst, wird der bisherige dateiinhalt gelöscht. daher ist's auch kein wunder, wenn du kein ergebnis bekommst.
Mit Zitat antworten
  #3 (permalink)  
Alt 03-10-2002, 15:11
bastian
 Registrierter Benutzer
Links : Onlinestatus : bastian ist offline
Registriert seit: Aug 2001
Beiträge: 492
bastian ist zur Zeit noch ein unbeschriebenes Blatt
Standard

komisch,
aber warum wird bei der sache mit der einen variable die geänderte textdatei gespeichert?

was muss ich jetzt tun, damit ich mit einem php-script drei oder mehrere vars ändern kann?

gruss
b.
Mit Zitat antworten
  #4 (permalink)  
Alt 03-10-2002, 15:21
beebob
 PHP Junior
Links : Onlinestatus : beebob ist offline
Registriert seit: Jul 2002
Ort: Köln
Beiträge: 604
beebob ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ist eigentlich ganz einfach:

PHP-Code:
?php
// sagen wir mal, du legst ein array an ...
$poop = Array("poop1" =>"numero uno","poop2" => "numero duo");
// dann schiebste das array durch den serialisierer ...
$bytestream serialize($poop);
// array wieder 'loeschen'
$poop="";
// dann öffnest du eine datei. in dem bsp. hier ein temporaeres file ...
$temp tempnam("/tmp""temp.");
$fp fopen($temp,"w");
// jetzt schreibste quasi das array serialisiert in eine datei
fwrite($fp,$bytestream);
fclose($fp);

// jetzt holen wir uns das array wieder ...
$fp1 fopen($temp,"r");
$poop_string fread($fp1filesize($temp));
fclose($fp1);
// .... und unserialisieren das wieder
$poop_new_array unserialize($poop_string);

// tja, und nun kannst du damit machen, was du willst. z.b. eine addition. wenn du fertig bist, speicherst du einfach wieder wie oben das array wieder ab

// das ist einfach eine testausgabe. falls du lamp unter linux verwendest, müsste das skript gleich laufen. falls nicht, musst du oben den pfad, zum verzeichnis entsprechend aendern
echo $poop_new_array["poop1"]."<br>".$poop_new_array["poop2"];
unlink($temp);
?> 
Mit Zitat antworten
  #5 (permalink)  
Alt 03-10-2002, 15:31
bastian
 Registrierter Benutzer
Links : Onlinestatus : bastian ist offline
Registriert seit: Aug 2001
Beiträge: 492
bastian ist zur Zeit noch ein unbeschriebenes Blatt
Standard

jo beebob,
das ist ja echt eindrucksvoll,
nur leidre ist mir das zu kompliziert...

kannst du nicht das von mit gepostete script so editieren, das
ich damit drei oder meherere variabeln ändern/abspeichern kann,
oder gehts das nicht?

1000dank+gruss
bastian
Mit Zitat antworten
  #6 (permalink)  
Alt 03-10-2002, 15:42
beebob
 PHP Junior
Links : Onlinestatus : beebob ist offline
Registriert seit: Jul 2002
Ort: Köln
Beiträge: 604
beebob ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ok, kann ich. das beispiel ist allerdings nichts anderes, als das, was du vor hast.

sollen in der datei wirklich nur variablen gespeichert werden? oder ist da noch was anderes drin?
Mit Zitat antworten
  #7 (permalink)  
Alt 03-10-2002, 15:48
bastian
 Registrierter Benutzer
Links : Onlinestatus : bastian ist offline
Registriert seit: Aug 2001
Beiträge: 492
bastian ist zur Zeit noch ein unbeschriebenes Blatt
Standard

jo beebob,
sind nur vars drinne.

aber wo ich ja jezt einen experten drann hab,
vielleicht kannst du das folgende mit einbauen, weiss nicht rechts wie ichs anstellen sollte.



will 52 variablen ändern folgendes soll "irgendwie" dazu dienen nicht alle 52 vars anzugeben:
bestimmt erkennst du mehr darin als ich :-)

<?
for($i=0;$i<sizeof($HTTP_POST_VARS);$i++) {
$str .= "&".key($HTTP_POST_VARS)."=".current($HTTP_POST_VARS);
next($HTTP_POST_VARS);
}

$str.="&";
echo $str;
?>

vielen dank jetzt schonmal
b.
Mit Zitat antworten
  #8 (permalink)  
Alt 03-10-2002, 15:52
beebob
 PHP Junior
Links : Onlinestatus : beebob ist offline
Registriert seit: Jul 2002
Ort: Köln
Beiträge: 604
beebob ist zur Zeit noch ein unbeschriebenes Blatt
Standard

PHP-Code:
<?
$datei 
fopen("textdatei.txt","w+");
$text["text1"] = $text;
$text["text2"] = $text2;
fwrite($dateiserialize($text));
fclose($datei);
?>
wieder rausholen:

PHP-Code:
$datei fopen("textdatei.txt","r");
$text fread($dateifilesize("textdatei.txt"));
fclose($datei);

$theText unserialize($text)

echo 
"&text=".$theText["text1"]."<br>";
echo 
"&text2=".$theText["text2"]."<br>"
ich glaube, damit erübrigt sich gleich auch die sache mit den 52 variablen.
Mit Zitat antworten
  #9 (permalink)  
Alt 03-10-2002, 15:57
bastian
 Registrierter Benutzer
Links : Onlinestatus : bastian ist offline
Registriert seit: Aug 2001
Beiträge: 492
bastian ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hi beebob,

also das erste script schreibt mir die vars, welche ich in flash angebe in die textdatei.txt,

das zweite liest diese dann aus,
richtig?
----------------------------------------------------
edit:
warum erübrigt sich das???
----------------------------------------------------
was sagt/macht das script, welches ich in meinem vorherigem thread gepostet habe?

gruss und allerbesten dank
bastian
Mit Zitat antworten
  #10 (permalink)  
Alt 03-10-2002, 16:08
beebob
 PHP Junior
Links : Onlinestatus : beebob ist offline
Registriert seit: Jul 2002
Ort: Köln
Beiträge: 604
beebob ist zur Zeit noch ein unbeschriebenes Blatt
Standard

das dein erstes script müsste folgendes in die datei schreiben:

&var1=poop1&var2=poop2&var3=poop3 ... usw.

die vars müsstest du hier dann mit einem loop überprüfen, indem du den trenner "&" herausnimmst und dann jede 'variable' abspeicherst.

z.b. so:

PHP-Code:
// nehmen wir mal an, wir haben das file ausgelesen und den inhalt in $vars gespeichert
.
.
.
$theVars explode("&"$vars);
$vCnt     count$theVars 
for(
$i=0$i $vCnt; ++$i){
       
$content explode("=",$theVars[$i]);
       echo 
"VarName: ".$content[0]." | Value: ".$content[1];

jetzt nehmen wir mal an, in den values deiner variablen steckt bereits ein '&' oder meherer '=', die eigentlich für was anderes gedacht sind. dann wird's erst richtig kompliziert. deshalb besser serialize. zumal man dann nicht so einfach die datei auslesen kann, weil die daten binär vorliegen.
Mit Zitat antworten
  #11 (permalink)  
Alt 03-10-2002, 16:13
beebob
 PHP Junior
Links : Onlinestatus : beebob ist offline
Registriert seit: Jul 2002
Ort: Köln
Beiträge: 604
beebob ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von bastian
hi beebob,

also das erste script schreibt mir die vars, welche ich in flash angebe in die textdatei.txt,

das zweite liest diese dann aus,
richtig?
----------------------------------------------------
edit:
warum erübrigt sich das???
----------------------------------------------------
was sagt/macht das script, welches ich in meinem vorherigem thread gepostet habe?

gruss und allerbesten dank
bastian
1) richtig, richtig
2) du hast alle informationen als echte variablen vorliegen. d.h. du kannst explizit auf die werte zugreifen. z.b. hast du ein assoziatives array arr["Usernames"][$i]. versuch das mal mit der ascii-version ...
3) siehe mein letztes posting

beebob
Mit Zitat antworten
  #12 (permalink)  
Alt 03-10-2002, 16:19
bastian
 Registrierter Benutzer
Links : Onlinestatus : bastian ist offline
Registriert seit: Aug 2001
Beiträge: 492
bastian ist zur Zeit noch ein unbeschriebenes Blatt
Standard

mhhh,
also folgendes wird ausgegeben:

a:2s:5:"text1";s:11:"erste eingabe";s:5:"text2";s:12:"zweite eingabe";}

es sollte aber folgendea nach eingabe ins textfeld herauskommen, eben wie in meinem ersten script:

&text1=erste eingabe&&test2=zweite eingabe&

ist wegen flash eben wichtig....
versuchs mit deinen scripten nochmal, probier mal etwas rum...

dank dir beebob.
Mit Zitat antworten
  #13 (permalink)  
Alt 03-10-2002, 16:24
beebob
 PHP Junior
Links : Onlinestatus : beebob ist offline
Registriert seit: Jul 2002
Ort: Köln
Beiträge: 604
beebob ist zur Zeit noch ein unbeschriebenes Blatt
Standard

die 52 geschichte, soll wohl verhindern, dass nicht alle vars an die url übergeben werden (wg. der 4096 bytes beschränkung).

da du aber ja explizit auf deine inhalte zugreifen kannst, ist dieser schritt nicht mehr nötig.

theoretisch brauchst du sogsr gar nix mehr zu übergeben. du erinnerst dich an das erste beispiel mit der temprären datei? diese dateien erhalten automatisch einen eindeutigen namen vom system.

wenn du nun diesen namen per url verschickst, kannst du ihn auf der anderen seite aufnehmen und die serialisierten daten anhand des dateinames auslesen. d.h. du schlägst zwei fliegen mit einer klappe: man 'sieht' die values nicht mehr und man kann grössere datenmengen verarbeiten.

allerings würde ich nicht den kompletten pfad, sondern wirklich nur den dateinamen verschicken. der tempordner kann auch ausserhalb des webroots liegen. "/tmp" bzw "C:\\WINDOWS\\TEMP" würde sich anbieten.
Mit Zitat antworten
  #14 (permalink)  
Alt 03-10-2002, 16:26
beebob
 PHP Junior
Links : Onlinestatus : beebob ist offline
Registriert seit: Jul 2002
Ort: Köln
Beiträge: 604
beebob ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von bastian
mhhh,
also folgendes wird ausgegeben:

a:2s:5:"text1";s:11:"erste eingabe";s:5:"text2";s:12:"zweite eingabe";}

es sollte aber folgendea nach eingabe ins textfeld herauskommen, eben wie in meinem ersten script:

&text1=erste eingabe&&test2=zweite eingabe&

ist wegen flash eben wichtig....
versuchs mit deinen scripten nochmal, probier mal etwas rum...

dank dir beebob.
jo, mach das. ich hab den code allerdings nicht wirklich geprüft. daher keine gewähr. aber das prinzip stimmt.

du darfst halt nicht vergessen, die vars wieder zurückzuschreiben.

am besten, du liest noch folgendes durch:

http://www.php.net/manual/de/function.serialize.php
http://www.php.net/manual/de/function.tempnam.php

weil mehr ist das eigentlich gar nicht.

Geändert von beebob (03-10-2002 um 16:33 Uhr)
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

MariaDB 5.5 veröffentlicht
MariaDB 5.5 veröffentlichtDie freie MySQL-Alternative MariaDB wurde in der stabilen Version 5.5.23 veröffentlicht und soll einige Verbesserungen gegenüber Oracles Communityversion von MySQL mitbringen.

16.04.2012 | Berni

Deutsche Yii Framework Community
Deutsche Yii Framework CommunitySeit dem 19.03.2012 gibt es für die Yii PHP Framework Community ein deutsches Zuhause.

20.03.2012 | dhcomputer

 

Aktuelle PHP Scripte

Advanced Login ansehen Advanced Login

Login-System und Kundenverwaltung, die sich spielend leicht in bestehende Webseiten einbauen lässt und einen enormen Funktionsumfang bietet. Ihre eigene Webseite muss mit Advanced Login nicht umständlich an ein fertiges System angepasst werden.

25.05.2012 Madden | Kategorie: PHP/ Kundenverwaltung
BROM CMS/BelCal 3 ansehen BROM CMS/BelCal 3

Spezielles CMS für Betreiber von Ferienwohnungen. Komplette Seitenerstellung online, Verwaltung mehrerer Objekte, Reservierungssystem mit sofortigem Abgleich im Belegungskalender und vieles mehr bietet dieses Content Management System.

25.05.2012 belcal2 | Kategorie: PHP/ CMS
belbit LiveSupport Script ansehen belbit LiveSupport Script

Schnellen und unkomplizierten Support im LiveSupport-Chat anbieten. Ohne Datenbank und in wenigen Sekunden installiert.

24.05.2012 EichbaumMedia | Kategorie: PHP/ Chat
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 07:48 Uhr.