Verzeichnis übergabe...falsch!

masta

Erfahrenes Mitglied
Verzeichnisübergabe...falsch!

Habe folgendes Problem...

Hier mal ein Auszug...

PHP:
<form action="add_xfriend.php" method="get" enctype="multipart/form-data">
<input type="file" name="image" size="15">
<input type="Submit" value="Als Single eintragen"></form>

wenn ich jetzt ein Verzeichnis auswähle wird es in der Variable $image so übergeben (BEISPIEL)

C:\\apache\\htdocs\\sidaba.de\\ecard\\ernie_small.jpg

und nicht so...

C:\apache\htdocs\sidaba.de\ecard\ernie_small.jpg

Hier wird es dann verarbeitet:

PHP:
if (isset($image) && $image != "none") 
{
 $imgTemp = "bilder/bild".$anzahl.".jpeg";
 $data = fread(fopen($image, "r"),filesize($image));
 $src = ImageCreateFromString($data);
 $src_size = GetImageSize($image);
 $imgFactor = $tosizex / $src_size[0];
 $dst_x = $src_size[0] * $imgFactor;
 $dst_y = $src_size[1] * $imgFactor;
 $dst = ImageCreate ($dst_x, $dst_y);
 ImageCopyResized ($dst, $src, 0, 0, 0, 0, $dst_x, $dst_y, $src_size[0], $src_size[1]);
 ImageJPEG($dst,$imgTemp);
} else {
 $imgTemp = "none";
}

Fehlermeldung sieht so aus:

Warning: fopen("C:\\apache\\htdocs\\sidaba.de\\ecard\\ernie.jpg", "r") - Datei oder Verzeichnis nicht gefunden in /var/www/sidaba.de/htdocs/add_xfriend.php on line 109

Warning: stat failed for C:\\apache\\htdocs\\sidaba.de\\ecard\\ernie.jpg (errno=2 - Datei oder Verzeichnis nicht gefunden) in /var/www/sidaba.de/htdocs/add_xfriend.php on line 109

Warning: Supplied argument is not a valid File-Handle resource in /var/www/sidaba.de/htdocs/add_xfriend.php on line 109

Warning: Data is not in a recognized format. in /var/www/sidaba.de/htdocs/add_xfriend.php on line 110

Warning: getimagesize: Unable to open 'C:\\apache\\htdocs\\sidaba.de\\ecard\\ernie.jpg' for reading. in /var/www/sidaba.de/htdocs/add_xfriend.php on line 111

Warning: Division by zero in /var/www/sidaba.de/htdocs/add_xfriend.php on line 112

Warning: Supplied argument is not a valid Image resource in /var/www/sidaba.de/htdocs/add_xfriend.php on line 116




was mache ich falsch? Danke im vorraus!
 
Zuletzt bearbeitet:
wenn du mit fopen versuchst C:\apache\htdocs\sidaba.de\ecard\ernie_small.jpg zu öffnen kann und das nicht gehen, da sie bei dir auf der Festplatte liegt... wäre echt übel wenn das ginge.. ausserdem versucht der Webserver sie bei sich auf der Festplatte zu öffnen...

probiers einfach mal mit

copy ($image,$ziel);

tob
 
Ich habe es auch schon versucht und zwar so:

PHP:
$tosizex = 120;

if (isset($image) && $image != "none") 
{
 $imgTemp = "bilder/bild".$anzahl.".jpeg";
 $data = copy($image,$imgTemp);
 $src = ImageCreateFromString($data);
 $src_size = GetImageSize($image);
 $imgFactor = $tosizex / $src_size[0];
 $dst_x = $src_size[0] * $imgFactor;
 $dst_y = $src_size[1] * $imgFactor;
 $dst = ImageCreate ($dst_x, $dst_y);
 ImageCopyResized ($dst, $src, 0, 0, 0, 0, $dst_x, $dst_y, $src_size[0], $src_size[1]);
 ImageJPEG($dst,$imgTemp);
} else {
 $imgTemp = "none";
}

Bekomme trotzdem diese Fehlermeldung:

Warning: Unable to open 'C:\\apache\\htdocs\\sidaba.de\\ecard\\ernie_small.jpg' for reading: Datei oder Verzeichnis nicht gefunden in /var/www/sidaba.de/htdocs/add_xfriend.php on line 108

Warning: Data is not in a recognized format. in /var/www/sidaba.de/htdocs/add_xfriend.php on line 109

Warning: getimagesize: Unable to open 'C:\\apache\\htdocs\\sidaba.de\\ecard\\ernie_small.jpg' for reading. in /var/www/sidaba.de/htdocs/add_xfriend.php on line 110

Warning: Division by zero in /var/www/sidaba.de/htdocs/add_xfriend.php on line 111

Warning: Supplied argument is not a valid Image resource in /var/www/sidaba.de/htdocs/add_xfriend.php on line 115

Ich weiss nicht mehr weiter...kann es sein das es am Provider liegt?
 
probiers im <form> tag mal mit method="POST" vieleicht geht es dann, bei mir ging es dann jedenfalls.

tob
 
ja, das problem ist das ich sobald ich das script hochlade funktioniert es nicht mehr mit der method post...wobei es auf meinem
localhost server einwandfrei läuft. irgendwie werden bei meinem provider die variablen mit post nicht übergeben. kann der provider so etwas unterdrücken?

gruss patrick
 
habe leider keine echte Ahnung davon aber ich denke das was bei selfhtml über die methode get und post steht das problem ist:

http://selfhtml.teamone.de/html/formulare/definieren.htm#bereich
und nochwas bei Selfhtml:
http://selfhtml.teamone.de/cgiperl/intro/formularverarbeitung.htm

ich glaube bei get wird nur der Pfad der Datei, der auch im Input feld steht, an das script übergeben und nicht die datei. das das bei dir zuhause funzt liegt wahrscheinlich einfach daran das dein Webserver mehr "darf" und ausserdem noch die möglichkeit hat auf die Datei zuzugreifen. Ist aber alles nur reine vermutung!!!!

tob
 
Naja, aber wie gesagt es funktioniert nicht einmal die Übergabe via Post auf dem Server...Selbst ein einfaches wie:

PHP:
<form action="test.php" method="post" enctype="multipart/form-data">
<input type="file" accept="image/jpeg" name="image" size="15">
<input type="Submit" value="Als Single eintragen"></form>

und dann die Ausgabe:

PHP:
<?
echo $image;
?>

will nicht funktionieren. Na egal bedanke mich für Deine mühen,
mal sehen was sich machen lässt!
 
Vielen Dank für die Hilfe das bringt mich ja schon mal was weiter!
Ich muss mich mal mit meinem Provider in Verbindung setzen.
Gebe Dir natürlich eine gute Bewertung... ;)

geht ja gar nicht...:(
 
Du darfst nachdem du eine Bewertung ausgewählt hast nicht noch auf go klicken! ;)
Zum Thema:
Warscheinlich ist register_globals in der php.ini vom server auf 0 das heißt du musst alle Post Variablen so ansprechen
$_POST['var']
zb. aus $beispiel wird $_POST['beispiel']
Für Variablen die über die URL weitergegeben wurden nimmst du statt POST einfach GET :D
 
Zurück