php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 24.10.2004, 20:16  
Gast
 
Beiträge: n/a
Standard Problem mit dateiupload (copy)

Hallo,

ich bin schon am verzwiefeln. Ich möchte Daten (per html formular-abgeschickt) , darunter ein bild auf dem server speichern.
hierzu füge ich mittels "include_once" folgendes skript in die Ziel .PHP-datei des formulars ein.
das eingefügte skript enthält die Funktion bildupload() und wird wie folgt aufgerufen:

bildupload($_FILES['Coupon_bild'], $new_id, $_POST['Ort'], $_POST['Firma']);

Das Problem ist, das immer die ausgabe "fehler beim speichern der datei" kommt (also die letzte if-anweisung). ich weiß aber langsam nicht mehr was ich noch versuchen könnte. Der pfad stimmt. auch die Variablen $uploaddir und $name1 habe ich mir schon ausgeben lassen. steht überall das richtige drin.

Vielleiht kann mir hier noch wer weiterhelfen?!?!
Danke schonmal für eure Mühen!

Hier das Skript:

Code:
<?php
function bildupload($bild, $new_id, $Ort, $Firma) {

global $ROOT;
$uploaddir = $ROOT."campus/upload_files/rabatte/";  // Zielverzeichnis

	if($bild['name'] != "")
	{
	if ($bild['size'] > 25000)
	die("<tr><td colspan=2>Die Datei ist zu groß. (max. 25 KB) </td></tr>");


//Endung der hochzuladenden Dateien ermitteln
$endung = strtolower(substr($bild['name'],strrpos($bild['name'],".")));

if ($endung != ".jpeg" and $endung != ".jpg" and $endung != ".gif" )
{
die("Bitte nur JPEG- oder GIF-Format für das Bild verwenden"); 
}

//Neuer Name für das Bild
$name1 = "$Ort"."_"."$Firma".$endung;

//Bild speichern auf Server

if (!copy($bild,$uploaddir.$name1) ) 
die("<tr><td colspan=2>Fehler beim Speichern der Datei
Zurück zur Übersicht</td></tr>");

echo("Das Bild wurde erfolgreich gespeichert.");

$query = "update Rabatte set img='$name1' where id=".$new_id;
insert($query);
}
}
?>
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 25.10.2004, 08:59  
Erfahrener Benutzer
 
Registriert seit: 19.10.2004
Beiträge: 498
marsch
Standard

Hallo,

wem gehört denn "$uploaddir", und wie sind die Berechtigungen? Gibt es vielleicht eine Fehlerausgabe? Ist es Windows und das Bild hat eine Größe von 0Bytes? Dann s.

http://www.php.net/manual/en/function.copy.php

--

Marco
marsch ist offline   Mit Zitat antworten
Alt 25.10.2004, 09:41  
Gast
 
Beiträge: n/a
Standard

und weil wir schon bei den fortgeschrittenen sind: verwende statt copy() move_uploaded_file()
  Mit Zitat antworten
Alt 25.10.2004, 09:48  
Gast
 
Beiträge: n/a
Standard

also $uploaddir gehört dem user "web124" , mit diesem user verbinde ich mich auch zur db.
es handelt sich um webspace bei einem provider, also gehe ch von linux aus.
das bild, mit dem ich es teste hat 6kb.
  Mit Zitat antworten
Alt 25.10.2004, 09:48  
Gast
 
Beiträge: n/a
Standard

jo, move_uploaded_file hab ich mittlerweile schon drin, aber selbes ergebnis
  Mit Zitat antworten
Alt 25.10.2004, 09:56  
Erfahrener Benutzer
 
Registriert seit: 19.10.2004
Beiträge: 498
marsch
Standard

Zitat:
Zitat von sharknc
also $uploaddir gehört dem user "web124" , mit diesem user verbinde ich mich auch zur db.
es handelt sich um webspace bei einem provider, also gehe ch von linux aus.
das bild, mit dem ich es teste hat 6kb.
hmm, mit welchem User Du Dich an der DB anmeldest, spielt keine Rolle. Das Verzeichnis gehört also "web124", wahrscheinlich hat der auch Schreibrechte. Aber der Webserver läuft sicherlich unter einer anderen Benutzerkennung und hat deswegen dieses Recht nicht (unterstelle ich mal ganz kühn). Du brauchst also ein Verzeichnis, in das der Webserver schreiben darf, das aber web124 gehört. Du musst also eine Gruppe herausfinden, in der der Webserver-User Mitglied ist (z.B. www) und mit
Code:
chgrp www $uploaddir && chmod 730 $uploaddir
dem Webserver erlauben, dorthin zu schreiben ($uploaddir natürlich durch den Verzeichnisnamen ersetzen), lesen muss er ja nicht können.

--

Marco
marsch ist offline   Mit Zitat antworten
Alt 25.10.2004, 10:26  
Gast
 
Beiträge: n/a
Standard

hm ich hab das verzeichnis testweise schon mal auf chmod 777 geändert, da gings trotzdem nicht.
  Mit Zitat antworten
Alt 25.10.2004, 11:08  
Gast
 
Beiträge: n/a
Standard

so hab mir mal das array des bildes ausgeben lassen, ['error'] hat den Wert 0.
  Mit Zitat antworten
Alt 25.10.2004, 17:27  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von marsch
Du musst also eine Gruppe herausfinden, in der der Webserver-User Mitglied ist (z.B. www) und mit
Code:
chgrp www $uploaddir && chmod 730 $uploaddir
dem Webserver erlauben, dorthin zu schreiben ($uploaddir natürlich durch den Verzeichnisnamen ersetzen), lesen muss er ja nicht können.
Zusatz: das geht nur mit Shellaccount und nicht mit PHP.
  Mit Zitat antworten
Alt 26.10.2004, 09:26  
Gast
 
Beiträge: n/a
Standard

das is das Problem, ich hab keine shell...

aber ich habs jetzt immerhin so weit gebracht, das er mir nen "vernünftigen" Fehler ausspuckt:

mit copy():

Code:
Warning: copy(): SAFE MODE Restriction in effect.
 The script whose uid/gid is 676/33 is not allowed to access 
/home/www/web124/html/campus/campus/upload_files/rabatte 
owned by uid/gid 1120/102 
in 
/home/www/web124/html/campus/admin/rabatte/rabatte_save_new.php 
on line 61 

Warning: copy(/home/www/web124/html/campus/campus/upload_files/rabatte/asd.jpg): 
failed to open stream: No such file or directory in
/home/www/web124/html/campus/admin/rabatte/rabatte_save_new.php on line 61

mit move_uploaded_file():

Code:
The script whose uid/gid is 676/33 is not allowed to access /home/www/web124/html/campus/campus/upload_files/rabatte owned by uid/gid 1120/102 in /home/www/web124/html/campus/admin/rabatte/rabatte_save_new.php on line 61

in Line 61 steht if (move_uploaded_file($userfile, $tempdir))

bzw

if (copy($userfile, $tempdir))

Problem, der provider will safemode nicht deaktivieren und ist der überzeugung , das es auch anders geht.
Kann mir hierzu noch jemand was sagen?

Danke übrigens für eure bisherigen antworten!
  Mit Zitat antworten
Antwort


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
[Erledigt] Galerie Problem... coraplanet PHP Tipps 2008 4 06.06.2008 13:42
Dateiupload über FTP oder copy() ? GSJLink PHP Tipps 2006 7 25.11.2006 15:24
[curl] Größe unterschiedlich zum Original (copy() Problem) betrazivis PHP-Fortgeschrittene 5 23.10.2006 16:53
datensätze defekt oder problem mit dem einlesen? Ministry Datenbanken 4 06.07.2006 18:42
Problem mit copy() dimitri PHP Tipps 2006 1 15.03.2006 00:30
problem!!! PHP Tipps 2006 6 08.02.2006 11:06
[Erledigt] wieder ein Problem bei phpmailer und smtp PHP Tipps 2006 24 07.02.2006 01:07
Problem mit Dateiupload auf Mac bexxta PHP Tipps 2005-2 2 06.09.2005 23:27
[Erledigt] Problem mit copy() PHP Tipps 2005-2 1 03.09.2005 20:23
[Erledigt] Problem mit Backslash Patrick Schwarz PHP Tipps 2005-2 5 26.07.2005 09:54
[Erledigt] PROBLEM: Dateiupload PHP-Fortgeschrittene 3 19.10.2004 20:53
[Erledigt] copy - Funktion bereitet Problem PHP-Fortgeschrittene 5 04.09.2004 22:54
Problem mit copy() rocco PHP Tipps 2004 3 25.08.2004 09:58
Problem mit alter JavaScript-Funktion woods PHP Tipps 2004 1 13.08.2004 13:34
[Erledigt] Problem mit Sicherheiten bei php PHP-Fortgeschrittene 3 08.08.2004 19:55

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
copy php file, server 2008 php copy funktioniert nicht, php datei mit copy hochladen, php copy bild und speichern, php copy erlauben, php copy geht nicht, move_uploaded_file ersetzen, move_uploaded_file berechtigungen, php copy datei mit berechtigungen, php copy file, php @copy fehler, $uploaddir =, php copy safe mode, php dateiupload ohne copy, copy php benutzer, upload php datei ersetzen, copy dateiupload funktioniert nicht, php copy datei funktioniert nicht, chmod 730, $upload_dir funktioniert nicht

Alle Zeitangaben in WEZ +1. Es ist jetzt 20:48 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.