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! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Bewertung: Bewertung: 2 Stimmen, 5,00 durchschnittlich.
  #1 (permalink)  
Alt 12-06-2008, 21:00
Shunty
 Newbie
Links : Onlinestatus : Shunty ist offline
Registriert seit: Jun 2008
Ort: bonn-berlin
Beiträge: 14
Shunty ist zur Zeit noch ein unbeschriebenes Blatt
Standard [Funktion] fopen wrapper does not support writeable connecti- lokal, ohne http... ??

Hallo ,
meine Frage ist, warum gibt fopen hier die übliche Fehlermeldung

"Warning: fopen(http://127.0.0.1/wordpress/wp-conten...ts/g_posts.log) [function.fopen]: failed to open stream: HTTP wrapper does not support writeable connections in..." usw. aus,

obwohl ich (siehe unten) keine http Verbindung abfrage UND auch lokal, also auf dem Server bleibe? In der folge wird natürlich auch fread(): rewind(): ftruncate(): usw. alles abgelehnt (not valid).

Der Witz ist, dass das Script schon seit Jahren problemlos läuft (es handelt sich um einen Teil zur Verarbietung des Inputs einer Kleinanzeigenbank ), es nun aber (wir bauen um auf WordPress, läuft aber parallel) lokal Probleme macht. Leider war ich nicht der gwiefte Programmierer, sondern muss selbst ohne viel Wissen um php einpflegen.

register_globals und auch allow_url_fopen (brauche ich nicht) sind On, die entspr. Dateien zum öffnen und schreiben ebenfalls vorhanden. Warum wrapper does not support writeable connections?

Hier der Teil der die Fehler wirft:

PHP-Code:
 //*Function: counts Post +1, returns new post # 

 
function get_post_number($f)
 {
      
$countfile fopen($f,"r+"); // ($f,"x+") ergibt dasselbe..
     
$num fread($countfile,1024);
     
$num $num 1;
     
rewind($countfile);
     
ftruncate($countfile,1024);
     
fwrite($countfile,$num);
     
fclose($countfile);
     return 
$num;
 } 

ps.: bitte nicht fragen was $f ist, das finde ich nirgens sonst im script.
pps. das script ist nicht lang und schreibt erstmal nur post Daten in .post dateien zum nachträglichen bearbeiten.

Jede Hilfe ist willkommen!

Geändert von Shunty (12-06-2008 um 21:10 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 12-06-2008, 21:14
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
ps.: bitte nicht fragen was $f ist, das finde ich nirgens sonst im script.
Dürfte aber entscheidend sein was da drinsteht!
Also schau mal nach
PHP-Code:
//und als erste PHP Code Zeile noch
ini_set('display.errors','1');
error_reporting(E_ALL);
function 
get_post_number($f)
 {
      
var_dump($f);
      exit;
      
$countfile fopen($f,"r+"); // ($f,"x+") ergibt dasselbe..
     
$num fread($countfile,1024);
     
$num $num 1;
     
rewind($countfile);
     
ftruncate($countfile,1024);
     
fwrite($countfile,$num);
     
fclose($countfile);
     return 
$num;
 } 
__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Mit Zitat antworten
  #3 (permalink)  
Alt 12-06-2008, 21:26
pekka
 PHP Master
Links : Onlinestatus : pekka ist offline
Registriert seit: Jun 2001
Ort: Köln
Beiträge: 6.608
pekka befindet sich auf einem aufstrebenden Ast
Standard

Japp. Ich wette, daß eine Pfadangabe, die bisher entweder leer war oder einen absoluten Pfad beinhaltete, durch irgendeine Änderung plötzlch den Web-Pfad enthält... $f wirds lösen.
Mit Zitat antworten
  #4 (permalink)  
Alt 13-06-2008, 00:26
Shunty
 Newbie
Links : Onlinestatus : Shunty ist offline
Registriert seit: Jun 2008
Ort: bonn-berlin
Beiträge: 14
Shunty ist zur Zeit noch ein unbeschriebenes Blatt
Standard

aha, ja, wie da rankomme sorry, das wusste ich bislang nicht.
Also da steht nun:

string(75) "http://127.0.0.1/wordpress/wp-content/themes/dd/anz_php/~counts/g_posts.log"

und das ist so auch völlig richtig, denn dort befindet sich der Ordner ~counts un die entspr. Datei g_posts.log, in der die Zahl (in diesem falle Anzahl der posts) um eins hoch gesetzt werden soll.

Also toll, und nun? Warum macht fopen etc. det nicht ??
Mit Zitat antworten
  #5 (permalink)  
Alt 13-06-2008, 00:31
pekka
 PHP Master
Links : Onlinestatus : pekka ist offline
Registriert seit: Jun 2001
Ort: Köln
Beiträge: 6.608
pekka befindet sich auf einem aufstrebenden Ast
Standard

Das ist kein Datei- sondern ein Webpfad. Du mußt einen Dateipfad draus machen.
Mit Zitat antworten
  #6 (permalink)  
Alt 13-06-2008, 00:44
Shunty
 Newbie
Links : Onlinestatus : Shunty ist offline
Registriert seit: Jun 2008
Ort: bonn-berlin
Beiträge: 14
Shunty ist zur Zeit noch ein unbeschriebenes Blatt
Standard

shit. Ah ok, sehe da ist eine dir anweisung so:
$mDirPath = "http://127.0.0.1/wordpress/wp-content/themes/dd/anz_php";

da habe ich die einfach mal geleert so:
$mDirPath = "";

Ergebnis:
fopen(/~counts/g_posts.log) [function.fopen]: failed to open stream: No such file or directory in...

an derselben Stelle wo $countfile = fopen($f,"r+"); usw.

Mhm,
der Pfad wird später noch für
$postnum = get_post_number($mDirPath."/~counts/$countfilename"); // get post no.
und
$newentry = fopen($mDirPath."/~entries/$entryname","w");

gebraucht. Wie sich das nun auswirkt... keine Ahnung. Was mich nur verblüfft ist nun das es auf dem Webserver so seit Jahren läuft, und nun auf einmal nicht, gibts doch nicht. ??

.. momenti, werde den Pfad noch was ausprobieren... ... ...

Yeaii! Für alle Wordpresser: so einen Pfad vom root aus anlegen, also:
wp-content/themes/dd/anz_php
oder
wp-content/themes/theme/ usw.

Danke Euch! Wenns mal wieder klingelt, lass ichs wieder scheppern.
Hier die (noch) Page um die es ging:
www.dorfdisco.de

Geändert von Shunty (13-06-2008 um 00:54 Uhr)
Mit Zitat antworten
  #7 (permalink)  
Alt 13-06-2008, 09:59
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Yeaii! Für alle Wordpresser: so einen Pfad vom root aus anlegen, also:
wp-content/themes/dd/anz_php
Das ist kein Pfad vom Root aus, sondern einer vom Verzeichnis aus wo die PHP Datei drin liegt. Root Pfade beginnen in Unix Umgebungen immer mit /. Imho ist das was du als Pfad geschrieben hast gleichwertig zu ./wp-content/themes/dd/anz_php.
Wenn du einen absoluten Pfad im Dateisystem angeben willst, dann kann dir die PHP Var $_SERVER weiterhelfen
PHP-Code:
$fopen($_SERVER['DOCUMENT_ROOT'].'/wp-content/themes/dd/anz_php/deine.php','r'); 
__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Mit Zitat antworten
  #8 (permalink)  
Alt 13-06-2008, 13:33
Shunty
 Newbie
Links : Onlinestatus : Shunty ist offline
Registriert seit: Jun 2008
Ort: bonn-berlin
Beiträge: 14
Shunty ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Aha, ok, werds mir merken, danke!

Renne aber gleich gegen die nächste Wand. Beim auslesen der oben gespeicherten .posts in Adminbereich (zum gucken, liegt woanders, genauer gesagt als Plugin im Wpress), erhalte ich folgende Fehlermeldung:

PHP-Code:
$oDirPath $_SERVER['DOCUMENT_ROOT']."/wordpress/wp-content/themes/.../...";
var_dump($odirPath); 
var_dump Ausgabe: NULL. Also nichts gesetzt , oder wieder nur falscher Pfad (obwohl der eigentlich hinhaut...)?

Danach noch ein paar nette "Undefined index: e_action in...." und "Warning: fopen(/~entries/) [function.fopen]: failed to open stream ..." etc. Hier zeigt sich bei fopen, dass der Pfad oben zumindest stimmt...
Mit Zitat antworten
  #9 (permalink)  
Alt 13-06-2008, 13:36
pekka
 PHP Master
Links : Onlinestatus : pekka ist offline
Registriert seit: Jun 2001
Ort: Köln
Beiträge: 6.608
pekka befindet sich auf einem aufstrebenden Ast
Standard

PHP achtet bei Variablennamen auf Groß- und Kleinschreibung!
Mit Zitat antworten
  #10 (permalink)  
Alt 13-06-2008, 13:50
Shunty
 Newbie
Links : Onlinestatus : Shunty ist offline
Registriert seit: Jun 2008
Ort: bonn-berlin
Beiträge: 14
Shunty ist zur Zeit noch ein unbeschriebenes Blatt
Standard

uhh natürlich ok, also nochmal:
var_dump($oDirPath); =
string(60) "E:/xampp/xampp/htdocs/wordpress/wp-content/themes/dd/anz_php"

korrekter Pfad, dennoch jene fehlermeldungen.."Undefined index: e_action in...." und "Warning: fopen(/~entries/) etc..

Geändert von Shunty (13-06-2008 um 13:53 Uhr)
Mit Zitat antworten
  #11 (permalink)  
Alt 13-06-2008, 13:57
pekka
 PHP Master
Links : Onlinestatus : pekka ist offline
Registriert seit: Jun 2001
Ort: Köln
Beiträge: 6.608
pekka befindet sich auf einem aufstrebenden Ast
Standard

Die "undefined index"e kommen vom error_reporting(E_ALL), die spielen erstmal keine große Rolle, die zu beheben kann dann ganz am Ende kommen. Die Warnings sind wichtger, beim fopen() mußt du halt schauen was er öffnen will und wo die entsprechende Angabe herkommt.
Mit Zitat antworten
  #12 (permalink)  
Alt 13-06-2008, 13:58
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
korrekter Pfad, dennoch jene fehlermeldungen.."Undefined index: e_action in...." und "Warning: fopen(/~entries/) etc..
Hat wohl nix mit der von dir gezeigten Codezeile zu tun. Such in deinem Quellcode mal die Zeile, die in der Fehlermeldung genannt wird und poste den Ausschnitt mal hier ins Forum (Zeile +- 10 Zeilen)
__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Mit Zitat antworten
  #13 (permalink)  
Alt 13-06-2008, 14:14
Shunty
 Newbie
Links : Onlinestatus : Shunty ist offline
Registriert seit: Jun 2008
Ort: bonn-berlin
Beiträge: 14
Shunty ist zur Zeit noch ein unbeschriebenes Blatt
Standard


$oDirPath = string(60) usw., stimmt schon

$current_of_entries = NULL - aha! - aber.. , die gibts, mhm...

//-> Error


PHP-Code:

// include Function "Dir_File()"
include ($_SERVER['DOCUMENT_ROOT']."/wordpress/wp-content/
.../FUNC_Dir_File.inc.php"
); 

function 
Show_Entry()
{
        global 
$oDirPath$current_of_entries// Vars werden global
        
         
$fileopen fopen($oDirPath."/~entries/$current_of_entries","r"); 
//Aktuelles file wird geoeffnet  -> Warning: fopen(/~entries/)  
        
        
$mOutput .= '<table border="0" cellpadding="3" cellspacing="0">';
//Tabellenkopf -> Notice: Undefined variable: mOutput
        
         
while($line fgets($fileopen,1024))
//Zerlegt jede Zeile anhand des Trennzeichens in ein array. wert0
 
des arrays wird  variablenname und bekommt wert1 als inhalt zugeordnet -> 
Warningfgets(): supplied argument is not a valid stream resource 

         
{
            
$array_split explode("|~|",$line);
            
$v1 strrevsubstr( (strrev($array_split[0])),3) );
            
$v2 $array_split[1]; // war mit htmlentities
            
            
if(strlen($v2)>65)
            {
            
$mOutput .= <tr
und

PHP-Code:
// Bei "Enable": Schreibt Datensatz in die db und verschiebt nach Ordner "~archive"
if ($_POST['e_action'] == "Enable"// -> Notice: Undefined index: e_action in E:\....

// Bei "Delete": Verschiebt nach Ordner "~trash"
if ($_POST['e_action'] == "Delete")  // ->Notice: Undefined index: e_action in E:\ 

Geändert von Shunty (13-06-2008 um 14:23 Uhr)
Mit Zitat antworten
  #14 (permalink)  
Alt 13-06-2008, 14:17
pekka
 PHP Master
Links : Onlinestatus : pekka ist offline
Registriert seit: Jun 2001
Ort: Köln
Beiträge: 6.608
pekka befindet sich auf einem aufstrebenden Ast
Standard

1. Bitte umbrechen, sodaß kein horizontaler Scrollbalken aufkommt
2. Testausgaben von oDirPath und current_of_entries machen
Mit Zitat antworten
  #15 (permalink)  
Alt 13-06-2008, 14:24
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

$oDirPath und $current_of_entries sind entweder gar nicht definiert oder leer. Dazu braucht man noch nicht mal Testausgaben, das sieht man ja schon an der Fehlermeldung -> fopen(/entries/).
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

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 03:40 Uhr.