PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Upload Script funktioniert seit umzug nicht.


ZeroxXx
02.10.2006, 19:41:40
Hallo,

Ich habe ein Problem. Ich bin auf einen neuen Server umgezogen und seit dem funktioniert mein Uploadscript nicht. Ich sitze schon die ganze Zeit daran und suche den Fehler.

Kann das vielleicht einer angucken?

Also auf dem alten Server funtkionierte es nur auf dem neuen nicht, also wenn ich auf Senden klicke dann passiert nichts er ladet einfach die Seite neu.

Hier das Script:
http://nopaste.php-q.net/243858

Opendix
02.10.2006, 20:18:58
woher kommt $action?
müsste das evtl. $_POST['action'] heissen?

ZeroxXx
02.10.2006, 20:22:32
Hi,

jo also das kommt von:

<form action="index.php?show=usergalerie_add&action=send" method="post" enctype="multipart/form-data">
<td valign="top"><strong>Datei:</strong></td>
<td><input name="datei" type="file" id="datei" size="20"></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type="submit" name="Submit" value="-&gt; SENDEN">
<input type="reset" name="Submit2" value="-&gt; L&Ouml;SCHEN">
</td></form>

ZeroxXx
02.10.2006, 20:25:53
Ooppsss...ich merk ja gerade, dass ich ja das $_POST['action'] garnicht drin habe...

sry dann liegt es ja bestimmt daran. Ich probier gleich mal aus.

Danke!!! :)

meikel (†)
02.10.2006, 20:29:49
jo also das kommt von:
Was für ein Murks! GET und POST gemixt.

<form action="index.php?show=usergalerie_add&action=send" method="post"
show und action findest Du in $_GET['show'] und $_GET['action']. Der Rest steht dann in $_POST bzw. $_FILES (HTTP Upload).

btw: handbuchlesen is wohl nich? Wenn Du Scripte schreibst, die mit PHP 4.0.6 funktionieren, dann solltest Du eben PHP 4.0.6 verwenden.

ZeroxXx
02.10.2006, 20:36:12
Was für ein Murks! GET und POST gemixt.


show und action findest Du in $_GET['show'] und $_GET['action']. Der Rest steht dann in $_POST bzw. $_FILES (HTTP Upload).

btw: handbuchlesen is wohl nich? Wenn Du Scripte schreibst, die mit PHP 4.0.6 funktionieren, dann solltest Du eben PHP 4.0.6 verwenden.
Hi,

Hä? Wo ist GET und POST gemixt? O.o


jopp Danke also es scheint wohl zu laufen aber jetzt kommt leider ein Fehler und zwar:

Warning: copy(): Unable to access in /var/www/vhosts/httpdocs/show/usergalerie_add.php on line 89

Opendix
02.10.2006, 20:39:05
www.php.net/chmod

und anstatt copy bei uploads immer www.php.net/move_uploaded_file verwenden!

ZeroxXx
02.10.2006, 20:49:24
Ja aber beim hochladen wir ja automatisch ein Ordner mit chmod 777 erstellt.
Und jo jetzt habe ich anstatt Cope move_uploaded_file verwendet jetzt kommt aber immer die Fehlermeldung das "BILD KONNTE NICHT EINGETRAGEN WERDEN. Bitte füllen sie alle Felder aus". Obwohl alle Felder ausgefüllt sind :(

Danke im Vorraus!

MfG ZeroxXx!

Opendix
02.10.2006, 20:58:14
$datei wird nicht definiert sein...

mach mal error_reportin(E_ALL) rein dann siehst du solche Fehler...

ZeroxXx
02.10.2006, 21:18:14
Ah sehr schön danke.

Also jetzt steht es da das der Safe Mod an ist (toll)
Weiss einer wie man in ausschaltet???
Also ich habe einen V-Server von Strato und ich habe gerade gegoogelt und da stand das man sich mit SSH Root einloggen soll und im conf Ordner die Datei vhost.conf
bearbeiten muss.
Aber das bringt mich irgendwie nicht weiter :( Da ich nicht weiss wo ich die Daten für SSH Root suchen soll. Ja und als Administrations Panel hab ich Plesk.

meikel (†)
02.10.2006, 21:46:09
Hä? Wo ist GET und POST gemixt? O.o
Da:
<form action="index.php?show=usergalerie_add&action=send" method="post" ...>
Die Formularvariablen show und action werden per GET geschickt (gehören zum Action URI) und landen dann bei PHP in $_GET.

Teil 2:
v-server
Also jetzt steht es da das der Safe Mod an ist (toll)
Weiss einer wie man in ausschaltet???
Ja. Wer sich einen vserver auf Linuxbasis mietet, der sollte sich schon hinreichend mit Linux auskennen.

btw: selbst für Plesk gibt es ein paar Handbücher, die Du Dir mal von Mutti vorlesen lassen kannst.

ZeroxXx
02.10.2006, 23:47:17
Teil 2:
v-server

Ja. Wer sich einen vserver auf Linuxbasis mietet, der sollte sich schon hinreichend mit Linux auskennen.

btw: selbst für Plesk gibt es ein paar Handbücher, die Du Dir mal von Mutti vorlesen lassen kannst.
Bei Strato gibt es leider keine Windows Server!


Ich habe gerade schon mehrer Anleitungen durchgelesen wo steht das man eine Datei erstellen soll und dann
php_admin_flag safe_mode off
php_admin_flag register_globals off
reinschreiben und die Datei dann ins conf Ordner hochladen.
Aber das Problem ist dann bei mir das ich auf diesen Ordner nicht zugreifen kann bei mir steht "550 conf: Premission denied".

Weiss da vllt. jemand was?

Edit: ok Problem gelöst...

MfG ZeroxXx!

meikel (†)
03.10.2006, 03:31:07
Bei Strato gibt es leider keine Windows Server!
Windows ist für vServer nicht geeignet.

Ich habe gerade schon mehrer Anleitungen durchgelesen wo steht das man eine Datei erstellen soll und dann
php_admin_flag safe_mode off
php_admin_flag register_globals off
reinschreiben und die Datei dann ins conf Ordner hochladen.
Da solltest Du auch weiterlesen. Im Appendix A des Adminhandbuches steht auch drin, wie Du diese Veränderung Plesk mitteilst, damit Deine beiden Zeilen beim nächsten Plesk Besuch nicht wieder überschrieben werden.

Edit: ok Problem gelöst...
Fein. FTP geht nämlich nicht. Du mußt WinSCP verwenden, um in das Verzeichnis reinzukommen.

Oder Du editierst es gleich in der Shell. pico oder joe mußt Du dann bei Bedarf installieren.

ZeroxXx
03.10.2006, 19:31:43
Da solltest Du auch weiterlesen. Im Appendix A des Adminhandbuches steht auch drin, wie Du diese Veränderung Plesk mitteilst, damit Deine beiden Zeilen beim nächsten Plesk Besuch nicht wieder überschrieben werden.


Fein. FTP geht nämlich nicht. Du mußt WinSCP verwenden, um in das Verzeichnis reinzukommen.

Oder Du editierst es gleich in der Shell. pico oder joe mußt Du dann bei Bedarf installieren.

Hi,

Ja genau das lag daran das ich die ganze Zeit mit eine FTP Programm versucht habe zu connecten.
Dann habe ich aber weiter gegooglet und gefunden das man es mit WinSCP machen soll. Und jetzt geht es! :)

Danke.

Aber ich habe jetzt noch ein Problem.

Also wenn ein Bild hochgeladet wird dann wird ja auch automatisch ein Ordner erstellt. Aber jetzt hab ich ein Problem das wenn der Ordner erstellt wurde er einen anderen Benutzer und Gruppe hat
Benutzer: wwwrun
Gruppe: www

wie kann ich dies ändern?
Also auf dem alten Server hat er es automatisch den richtigen Benutzer ausgewählt.

Danke im Vorraus!

MfG Dan!

meikel (†)
04.10.2006, 17:05:44
Aber jetzt hab ich ein Problem das wenn der Ordner erstellt wurde er einen anderen Benutzer und Gruppe hat
Benutzer: wwwrun
Gruppe: www

wie kann ich dies ändern?
Also auf dem alten Server hat er es automatisch den richtigen Benutzer ausgewählt.
Auf dem alten Server hattest Du CGI_PHP und auf Deinem vserver haste mod_PHP.

Bei CGI_PHP wird das PHP Script mit den Rechten des im virtualhost eingetragenen Users ausgeführt.

Bei mod_PHP wird alles mit den Rechten des Apachen ausgeführt. Und der heißt wwwrun:www.

Ändern kannst Du das nicht so ohne weiteres. Einfachste Möglichkeit ist die:
verwende die FTP Funktionen von PHP, um Dateien oder Verzeichnisse anzulege oder zu löschen. Du connectest also den eigenen FTP Server mit den Zugangsdaten Deines Accountes.

ZeroxXx
08.10.2006, 17:23:04
Hi,

ah ok Dankeschön.
Und wie wär den die schwere Möglichkeit?
Mit chown() den Benutzer zu ändern oder??

Danke im Vorraus!

MfG ZeroxXx!