php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 22.10.2007, 14:11  
Erfahrener Benutzer
 
Registriert seit: 23.12.2003
Beiträge: 124
HSFighter zeigte ein beschämendes Verhalten in der Vergangenheit
Standard tmpfile fehler

Hallo Leute,

Ich möchte gerne eine Datei erstellen die nach dem close wieder gelöscht wird.
Darum dachte ich mir, ich nehme die Funktion "tmpfile".
Ich habe jetzt mal den Rest weg gelassen:
PHP-Code:
<?php
  $temp 
tmpfile();
?>
Leider bekomme ich beim Aufruf der Funktion folgenden Fehler:
Zitat:
Warning: tmpfile() [function.tmpfile]: open_basedir restriction in effect. File(/tmp) is not within the allowed path(s): (/home/www/web184/html/:/home/www/web184/phptmp/:/home/www/web184/files/:/home/www/web184/atd/) in /home/www/web184/html/t.php on line 2
Kann mir jemand weiter Helfen?

MfG HSFighter
__________________
Wieso, weshalb, warum?
Wer nicht fragt bleibt dumm!
HSFighter ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 22.10.2007, 14:17  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Zitat:
open_basedir restriction in effect
Gib das doch einfach mal bei Google ein

Wenn du einen einfachen Webspace benutzt dann wird das nix mit tmpfile() wenn du deinen Apache selber konfigurieren kannst dann füg ihm einfach /tmp als basedir hinzu. Anleitungen dazu gibts massig im inet
cycap ist offline  
Alt 22.10.2007, 14:27  
Erfahrener Benutzer
 
Registriert seit: 17.01.2006
Beiträge: 468
Slava
Standard

open_basedir auf deinem server lässt das vermutlich nicht.
also mach mit normaler datei, die du am ende von script löschst.
versuch auch die datei mit tempnam zu erzeugen, da bei dieser funktion ist es möglich der ordner zu bestimmen
http://de2.php.net/manual/de/function.tempnam.php
__________________
Slava
http://bituniverse.com
Slava ist offline  
Alt 22.10.2007, 14:31  
Erfahrener Benutzer
 
Registriert seit: 23.12.2003
Beiträge: 124
HSFighter zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Danke für schnelle Antwort.

Bei Google habe ich Anleitungen gefunden.
Aber habe es nicht hin bekommen.
Da es wie du schon sagst es ein "Einfacher Webspace" ist.
Gibt es noch andere Möglichkeiten Temporäre Dateien zu erstellen?

Der Hintergrund ist der:
Ich lade via php über FTP eine Textdatei auf einen anderen Server hoch.
Der Inhalt der Textdatei soll der meiner Variable sein.

Das Hochladen von Dateien von einem zum anderen Server funktioniert ohne Probleme.
Nun muss ich ja aber meine Variable erst ein eine Quelldatei schrieben.

//Edit:

@Slava:
Danke schön, werde es mal Testen!


MfG HSFighter
__________________
Wieso, weshalb, warum?
Wer nicht fragt bleibt dumm!
HSFighter ist offline  
Alt 22.10.2007, 15:06  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Hoster, die auf einem Server mehrere User hosten, stellen die base_dir_restriction ein. Das heißt jeder User ist auf ein Basis-Verzeichnis beschränk. Offenbar ist der Server aber mißkonfiguriert, wenn das tmp-Verzeichnis außerhalb des Basis-Verzeichnisses liegt. Das kannst du deinem Serverhoster melden.

Was du eigentlich vorhast verstehe ich nicht ganz und mir fehlt auch gerade die Phantasie, wofür man etwas wie tmpfile() brauchen könnte
Zergling-new ist offline  
Alt 22.10.2007, 19:27  
Erfahrener Benutzer
 
Registriert seit: 23.12.2003
Beiträge: 124
HSFighter zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Danke euch allen für de Hilfe und die gute Infos.
Habe es mit "tempnam" hinbekommen :P

Eine kleine Frage am Rande habe ich da noch:

Ich schriebe eine Variable z.b. einen News Text aus der Datenbank in die
Datei die ich mit "tempnam" erstellt habe,
um sie dann via FTP auf einen anderen Server zu laden.

Gibt es über PHP eine FTP Funktion mit der ich erst keine Datei erstellen muss.
Sondern einfach angeben kann:
Erstelle diese Datei mit FTP auf dem Zielserver, und als Inhalt nehme die Variable $xy?

Habe keine Funktion in der art gefunden, oder ich habe es übersehen?
http://www.php.net/manual/de/ref.ftp.php

MfG HSFighter
__________________
Wieso, weshalb, warum?
Wer nicht fragt bleibt dumm!
HSFighter ist offline  
Alt 22.10.2007, 19:37  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Ah jetzt verstehe ich, das macht Sinn. Mir ist keine solche Technik bekannt, aber ich hab in dem Bereich auch keine Erfahrung.

Kann dein Zielrechner keine geeignetere Schnittstelle zur Verfügung stellen?
Zergling-new ist offline  
Alt 23.10.2007, 10:02  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

du könntest dich auch einfach mit der MySQL des zielservers verbinden und die daten dort reinschreiben und falls es dann noch benötigt wird auf dem zielserver die dateien mit den infos aus der mysql-db schreiben
cycap ist offline  
Alt 23.10.2007, 15:00  
Erfahrener Benutzer
 
Registriert seit: 17.01.2006
Beiträge: 468
Slava
Standard

wenn Wraper das zulässt und ftp eine passive mode hat, dann kannst du zbs so machen
PHP-Code:
$var="Hallo Welt";
$stream=fopen('ftp://ftpusername:ftppassword@deinedomane.de/einordner/probe.txt','w');
fwrite($stream,$var); 
auch ftps ist kein problem.
__________________
Slava
http://bituniverse.com
Slava ist offline  
Alt 23.10.2007, 15:02  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Inwiefern hängt das mit dem Passive Mode zusammen? (ist ne wirkliche Frage)
Zergling-new ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
bitte hilfe! mysql fehler meldung: basicx PHP Tipps 2008 2 22.07.2008 16:36
mysql fehler meldung: basicx Datenbanken 1 22.07.2008 09:48
[Erledigt] Mysql Syntax Fehler Datenbanken 3 06.07.2006 09:58
Hilfe ich find keinen Fehler mehr... GELight Datenbanken 2 01.05.2006 23:33
[Erledigt] Seite wird nicht angezeigt, untersch. Fehler bei IE/FF/Safar PHP-Fortgeschrittene 19 31.05.2005 14:52
fehler im script oder fehler beim server PHP Tipps 2005 12 21.05.2005 17:04
Blöder MySQL Fehler PHP Tipps 2005 3 15.05.2005 03:14
Fehlermeldung - aber kein fehler... Tschuu HTML, Usability und Barrierefreiheit 16 14.03.2005 15:56
Wo liegt der fehler?? PHP-Fortgeschrittene 5 22.12.2004 09:54
[Erledigt] mysql fehler PHP Tipps 2004 2 03.11.2004 00:32
Wo ist der Fehler? socke Datenbanken 10 01.11.2004 18:10
Hilfe ich finde den Fehler nicht! PHP Tipps 2004 2 07.10.2004 17:40
array_push nur in begrenzter Anzahl ausführen ? PHP Tipps 2004 2 07.09.2004 09:05
mysql_real_escape_string - Fehler Schaelle Datenbanken 0 03.07.2004 23:32
Paradox, Fehler bei Berechnung in MySQL MrNiceGuy Datenbanken 0 23.06.2004 16:09

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php tmpfile(), tmpfile php, php tmpfile, base_dir_restriction tempnam, tmpfile(), php warning: tmpfile(), base_dir_restriction

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:10 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.