|
 |
|
| Autor |
Nachricht |
method360 Stammuser [User]

Anmeldung: 14.12.06 Beiträge: 29
|
Verfasst am: 03.03.2007, 02:52 Titel: |
|
|
Habe nun versucht mit folgendem code , dynamisch die css-Datei zu erzeugen...aber wie euch sicher schon denken könnt tritt wieder ein Fehler auf....
| Code: |
$dircss='css/';
$filecss ='css/download.css';
$dhandlecss=opendir($dircss);
$i <--- das ist die laufvariable vom schon vorhanden code
fwrite ($dhandlecss,$filecss."a.linknr".$i."{
color:#000000;
background-color: #666666;
position: absolute;
left: 60px;
top: 100px;
}"
) ;
|
nun bekomme ich folgen fehlermeldung
| Code: |
Warning</b>: fwrite(): supplied resource is not a valid File-Handle resource in <b>/home/www/web25/html/download.inc.php</b> on line <b>40</b><br />
|
geht das so wie ich mir das gedach habe oder ist das so nich möglich?
ciao
|
|
| Nach oben |
|
 |
800XE Bekannter [Mod]


Anmeldung: 24.10.04 Beiträge: 1409 Wohnort: Speyer
|
Verfasst am: 03.03.2007, 03:12 Titel: |
|
|
| method360 hat folgendes geschrieben: | | geht das so wie ich mir das gedach habe oder ist das so nich möglich? |
tut schon gehen tuen ....
... aber
zum in Datei schreibn, muß man tuen datei öffnen ....
... nicht den Ordner(dir) wo die Datei drinliegen tut
------
deine Zählvariable $i hat auch einen ++ irgendwo?
also
$i++;
oder
$i=$i+1;
| method360 hat folgendes geschrieben: |
| Code: |
$dircss='css/';
$filecss ='css/download.css';
$dhandlecss=opendir($dircss);
|
| Code: |
Warning</b>: fwrite(): supplied resource is not a valid File-Handle resource |
|
nix opendir($dircss);
tu mal machen fopen($filecss,'wb');
und bei $dhandle würd ich dann noch das d wegmachen
(funktioniert auch mit d ... aber das d soll ja dem Coder signalisieren das da ein Dir geHandlet wird ... aber wir handeln ja ein file)
beiTheWay
fopen($filecss,'wb'); = WriteBinery (das b ist nicht wirklich wichtig ... nur auf manchen systemen)
fopen($filecss,'ab'); = a=Abandon = anhängend .... wenn du in(bzw an) eine schon bestehende datei eine Ergänzung hintendran schreiben willst ... open a=Abandon _________________
Seien wir realistisch, versuchen wir das Unmögliche!
CMS800 :::::::::: Andy 800XE Zmuda :::::::::
ich bin nicht unhöflich, ich bin binär
|
|
| Nach oben |
|
 |
800XE Bekannter [Mod]


Anmeldung: 24.10.04 Beiträge: 1409 Wohnort: Speyer
|
Verfasst am: 03.03.2007, 03:17 Titel: |
|
|
nochmal .....
| Code: | | fwrite ($dhandlecss,$filecss."a.linknr".$i."{ |
das sieht mir etwas komisch aus ....
.... gib mal bitte etwas mehr von deinem aktuellen Code
(da ist doch noch eine While Schleife?) _________________
Seien wir realistisch, versuchen wir das Unmögliche!
CMS800 :::::::::: Andy 800XE Zmuda :::::::::
ich bin nicht unhöflich, ich bin binär
|
|
| Nach oben |
|
 |
method360 Stammuser [User]

Anmeldung: 14.12.06 Beiträge: 29
|
Verfasst am: 03.03.2007, 03:44 Titel: |
|
|
Das is der ganze code ... die fehler sind leider noch nich behoben ... is ja auch schon spät ne ;-p
| Code: | <?php
//Ordner auslesen und in Datei abheften.txt speichern
$dir ='download/';
$dircss='css/';
$file ='abheften/abheften.txt';
$filecss ='css/download.css';
$dhandle=opendir($dir);
$dhandlecss=opendir($dircss);
$handle=fopen($file,'rb');
while(($file = readdir($dhandle)) !== false)
{ if ( filetype($dir.$file) == 'file' )
fwrite($handle,$file."\n");
} closedir($dhandle);
//inhalt von abheften.txt auslesen und links erstellen
$buffer = fread( $handle, 999999 );
$zeilen = explode( "\n" , $buffer );
$zcount = count( $zeilen );
$i=-1;
while ( ++$i < $zcount )
{
echo( '<br><a class=linknr'.$i.' href="http://www.ghetto-entertainment.de/download/'.$zeilen[$i].'">'.$zeilen[$i].'</a><br>');
fwrite ($dhandlecss,$filecss."a.linknr".$i."{color:#000000;background-color: #666666;position: absolute;left: 60px;top: 100px;}");
} |
Wenn du magst , kannst ja gleich die Fehler beheben
Edit:So , hab die fehler mal korregiert und funktioniert auch so halbwegs ohne fehler , jedoch ist die css datei leer ...?!?!?
| Code: |
<?php
//Ordner auslesen und in Datei abheften.txt speichern
//download
$dir ='download/';
$file ='abheften/abheften.txt';
$dhandle=opendir($dir);
$handle=fopen($file,'rb');
while(($file = readdir($dhandle)) !== false)
{ if ( filetype($dir.$file) == 'file' )
fwrite($handle,$file."\n");
} closedir($dhandle);
//css
$dircss='css/';
$filecss ='css/download.css';
$dhandlecss=opendir($dircss);
$handlecss=fopen($filecss,'wb');
//inhalt von abheften.txt auslesen und links erstellen
$buffer = fread( $handle, 999999 );
$zeilen = explode( "\n" , $buffer );
$zcount = count( $zeilen );
$i=-1;
while ( ++$i < $zcount )
{
echo( '<br><a class=linknr'.$i.' href="http://www.ghetto-entertainment.de/download/'.$zeilen[$i].'">'.$zeilen[$i].'</a><br>');
//css-datei schreiben
fwrite ($handlecss,$filecss."a.linknr".$i."{color:#000000;background-color: #666666;position: absolute;left: 60px;top: 100px;}");
}
?>
|
Zuletzt bearbeitet von method360 am 03.03.2007, 04:16, insgesamt einmal bearbeitet
|
|
| Nach oben |
|
 |
800XE Bekannter [Mod]


Anmeldung: 24.10.04 Beiträge: 1409 Wohnort: Speyer
|
Verfasst am: 03.03.2007, 04:13 Titel: |
|
|
| method360 hat folgendes geschrieben: |
| Code: |
$handle=fopen($file,'rb');
while(($file = readdir($dhandle)) !== false)
{ if ( filetype($dir.$file) == 'file' )
fwrite($handle,$file."\n");
} closedir($dhandle); |
|
Fehler 1
Du öffnest zum lesen und machst dann einen Schreibbefehl
$handle=fopen($file,'rb');
$handle=fopen($file,'wb'); wb nicht rb
und dann willst du eine css Datei schreiben?
$dhandlecss=opendir($dircss);
wie im Vorpost, nicht Dir sondern Datei
$handlecss=fopen($filecss,'wb');
$filecss ='download.css';
denke mal dort fehlt noch der Ordner
$filecss ='css/download.css';
ansonsten, die ganzen Sachen mit dircss ... werden nicht gebraucht, ist ja ein dateizugrif
fwrite ($dhandlecss,$filecss."a.linknr".$i."{color:#000000;background-color: #666666;position: absolute;left: 60px;top: 100px;}");
Das sieht, wie schon gesagt, sehr komisch aus ....
fwrite ($dhandlecss,$filecss."a.linknr"
fwrite ($handlecss,"\n\na.linknr"
zum Abschluß ....
so wird das eh nicht funktionieren
Die Site wird abgerufen (enthält im Meta einen LinkRelCSS Dingesn)
Der Browser will diese CSS dann aufrufen ...
... aber das PHP hat sie gerade gelöscht um sie neu zu schreiben
also, wenn es so aussieht als würde der Browser die CSS nicht beachten, dann liegt es einfach daran das er (der Browser) eine Inhaltlose cssDatei gelesen hat
Du must das auf 2 PHPs verteilen
Das "Abheften" und erzeugen der cssDatei irgendwie irgendwo ... wenn sich der Inhalt des DownloadOrdners geändert hat
und in dem Code hier, nur die abheften.txt auslesen und die Links generieren
(so ist es auch sinnvoll die Links erst "abzuheften" ... weil jetzt ist es ja wie mit dem Kontauszug)
Abgesehen vom "ist was in der CSS" Problem
Du hast 2x fopen
aber keine fclose($handle) bzw fclose($handlecss) ... wenn du mit schreiben vertig bist _________________
Seien wir realistisch, versuchen wir das Unmögliche!
CMS800 :::::::::: Andy 800XE Zmuda :::::::::
ich bin nicht unhöflich, ich bin binär
|
|
| Nach oben |
|
 |
800XE Bekannter [Mod]


Anmeldung: 24.10.04 Beiträge: 1409 Wohnort: Speyer
|
Verfasst am: 03.03.2007, 04:18 Titel: |
|
|
| method360 hat folgendes geschrieben: |
Edit:So , hab die fehler mal korregiert und funktioniert auch so halbwegs ohne fehler , jedoch ist die css datei leer ...?!?!?
|
Wegen Fehler 1
Du öffnest zum lesen und machst dann schreibbefehle ....
.... du heftest nichts ab _________________
Seien wir realistisch, versuchen wir das Unmögliche!
CMS800 :::::::::: Andy 800XE Zmuda :::::::::
ich bin nicht unhöflich, ich bin binär
|
|
| Nach oben |
|
 |
method360 Stammuser [User]

Anmeldung: 14.12.06 Beiträge: 29
|
Verfasst am: 03.03.2007, 04:30 Titel: |
|
|
Also es funktioniert jetzt .... sogar wenn alles in einer Datei ist
Hier der funktionierende Code
| Code: |
<?php
//Ordner auslesen und in Datei abheften.txt speichern
//download
$dir ='download/';
$file ='abheften/abheften.txt';
$dhandle=opendir($dir);
$handle=fopen($file,'rb');
while(($file = readdir($dhandle)) !== false)
{ if ( filetype($dir.$file) == 'file' )
fwrite($handle,$file."\n");
} closedir($dhandle);
//css
$dircss='css/';
$filecss ='css/download.css';
$dhandlecss=opendir($dircss);
$handlecss=fopen($filecss,'wb');
//inhalt von abheften.txt auslesen und links erstellen
$buffer = fread( $handle, 999999 );
$zeilen = explode( "\n" , $buffer );
$zcount = count( $zeilen );
$i=-1;
while ( ++$i < $zcount )
{
echo( '<br><a class=linknr'.$i.' href="http://www.ghetto-entertainment.de/download/'.$zeilen[$i].'">'.$zeilen[$i].'</a><br>');
//css-datei schreiben
fwrite ($handlecss,"\n\na.linknr".$i."{color:#000000;background-color: #666666;position: absolute;}");
}
fclose($handle);
fclose($handlecss);
?>
|
|
|
| Nach oben |
|
 |
800XE Bekannter [Mod]


Anmeldung: 24.10.04 Beiträge: 1409 Wohnort: Speyer
|
Verfasst am: 03.03.2007, 04:35 Titel: |
|
|
| method360 hat folgendes geschrieben: | Also es funktioniert jetzt .... sogar wenn alles in einer Datei ist
Hier der funktionierende Code |
Das wundert mich das er funktioniert
$handle=fopen($file,'rb');
while(($file = readdir($dhandle)) !== false)
{ if ( filetype($dir.$file) == 'file' )
fwrite($handle,$file."\n");
} closedir($dhandle);
Dort gehört ein wb hin
schreiben= fopen w & fwrite
lesen= fopen r & fread _________________
Seien wir realistisch, versuchen wir das Unmögliche!
CMS800 :::::::::: Andy 800XE Zmuda :::::::::
ich bin nicht unhöflich, ich bin binär
|
|
| Nach oben |
|
 |
method360 Stammuser [User]

Anmeldung: 14.12.06 Beiträge: 29
|
Verfasst am: 03.03.2007, 05:26 Titel: |
|
|
hab jetzt aber wieder ein ganz anderes Problem (naja ganz anderes is vllt ein bisschen übertrieben) ... wollte probieren ob alles funzt hab die dateien im download-ordner gelöscht und dann wieder neue reingeladen ... jetzt erstellt er aber keine Links mehr zu den Dateien... hab mir mir den quelltext angeschaut und konnte kein erstellten Link entdecken.... woran liegt das jetzt schon wieder?
Ich werd morgen probieren (bzw. nachher) doch das ganze in 2 PHP-Dateien aufzuteilen , vllt. löst das ja mein Problem schon.
Geh auf die Seite www.ghetto-entertainment.de und dann auf Downloads .... da schaust du dir dann den Quelltext an und wirst sehen , dass er keinen Link(steht ganz unten im Quelltext) erstellt ... ausser einen ... der führt aber ins leere.
Werd jetzt erstma Pennen gehen.
Bis dann
|
|
| Nach oben |
|
 |
bangolo Helfer [User]

Anmeldung: 01.03.07 Beiträge: 171
|
Verfasst am: 03.03.2007, 16:17 Titel: |
|
|
du willst jedem link eine andere klasse geben, dann mußte die Klassen ja alle im css vordefinieren. KA wieviel links du hast aber das wird ja ein riesen css datei.
definier noch lieber dann den style im php
| Code: | echo("<br><a style=\"$style[$i]\" href=\"http://domain.tld/download/".$zeilen[$i]."\">".$zeilen[$i]."</a>"
|
so kannste dann in $style übergeben wie dein link aussehen soll. du kannst nartülich auch das grundsätzliche aussehen der links im css deklarieren und nur die Werte die sich ändern sollen in style, dann muss aber class="xyz" wieder rein. _________________
http://www.die-abnehm-seite.de - http://www.wellness-beauty-info.de - http://www.artikel-liste.de
|
|
| Nach oben |
|
 |
method360 Stammuser [User]

Anmeldung: 14.12.06 Beiträge: 29
|
Verfasst am: 04.03.2007, 18:28 Titel: |
|
|
Also , es funktioniert jetzt erstma alles so wie ich es haben will.
Deshalb bedanke ich mich bei allen , die mir bei der Problemlösung geholfen.
Ciao
|
|
| Nach oben |
|
 |
|
|
 |
|
Alle Zeiten sind GMT + 1 Stunde Gehe zu Seite Zurück 1, 2
|
| Seite 2 von 2 |
|  |