Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [PHP] Bild via E-Mail schicken (https://www.delphipraxis.net/103668-%5Bphp%5D-bild-via-e-mail-schicken.html)

Chrissi91 19. Nov 2007 19:38

Re: [PHP] Bild via E-Mail schicken
 
Das ist nicht das Problem.

Es funzt weder

rawurldecode('C:\Dokumente%20und%20Einstellungen\L aptop\Desktop\bild.jpg')

noch

'C:\Dokumente und Einstellungen\Laptop\Desktop\bild.jpg'

noch

'C:\Dokumente%20und%20Einstellungen\Laptop\Desktop \bild.jpg'

In dieser Hinsicht probiere ich eigentlich immer alle Varianten aus.

Valle 19. Nov 2007 19:44

Re: [PHP] Bild via E-Mail schicken
 
Ich sehe grade, sind diese zwei Verzeichnisse nicht etwas widersprüchlich? :gruebel:

C:\Dokumente%20und%20Einstellungen\Laptop\Desktop\ bild.jpg'
'/srv/www/vhosts/pyrgo.de/httpdocs/php/test/test.jpg'




Du kannst ja auch mal mit is_dir($dir) überprüfen, ob beide Verzeichnisse vorhanden sind, bzw. ob sie existieren. Ich denke, dass mindestens eines von beiden nicht gehen kann, da es ja zwei völlig unterschiedliche Varianten sind. Du kannst auch mal versuchen, zu checken, ob is_writable() funktioniert. Außerdem glaube ich, dass der erste Parameter eigentlich immer $_FILES['userfile']['tmp_name'] sein müsste. Oder ist das jetzt hier nur ein Beispiel?

Mit freundlichen Grüßen,

Valle

Chrissi91 19. Nov 2007 20:52

Re: [PHP] Bild via E-Mail schicken
 
Also. Erstmal habe ich ein paar Tests gemacht:

Code:
<?php
   
   if(is_dir('C:\Dokumente und Einstellungen\Laptop\Desktop')){echo 'Lokaler Pfad existiert.

';}
   if(is_dir('/srv/www/vhosts/pyrgo.de/httpdocs/php/test')){echo 'Serverpfad existiert.

';}
   if(is_writable('/srv/www/vhosts/pyrgo.de/httpdocs/php/test')){echo 'Serverpfad ist beschreibbar.

';}
   //move_uploaded_file('C:\Dokumente und Einstellungen\Laptop\Desktop\ausweis.jpg','/srv/www/vhosts/pyrgo.de/httpdocs/php/test/test.jpg');

?>
Er gibt mir aus:

Serverpfad existiert.

Serverpfad ist beschreibbar.

Nur den lokalen Pfad mag er anscheinend nicht. Das mit dem $_FILES['userfile']['tmp_name'] habe ich auch gelesen. Aber ich wollte diesen ganzen Schnickschnack nicht und dachte mir so würde es auch gehen. Wie müsste ich es denn machen?

Code:
$_FILES['userfile'] = 'C:\Dokumente und Einstellungen\Laptop\Desktop\ausweis.jpg';
move_uploaded_file($_FILES['userfile']['tmp_name'],'/srv/www/vhosts/pyrgo.de/httpdocs/php/test/test.jpg');
So?

S2B 19. Nov 2007 21:25

Re: [PHP] Bild via E-Mail schicken
 
Zitat:

Zitat von Chrissi91
Nur den lokalen Pfad mag er anscheinend nicht. Das mit dem $_FILES['userfile']['tmp_name'] habe ich auch gelesen. Aber ich wollte diesen ganzen Schnickschnack nicht und dachte mir so würde es auch gehen. Wie müsste ich es denn machen?

Es geht nicht anders, es sei denn, du lädst die Datei per FTP-Client o.Ä. auf den Server. Der Server hat (zum Glück) keinen Zugriff auf deinen PC, kann also auch mit einem C:\bild.jpg nichts anfangen - selbst wenn es ein Windows-Server wäre. :wink:

Chrissi91 20. Nov 2007 06:10

Re: [PHP] Bild via E-Mail schicken
 
Hm ... das ist blöd. :( Es funktioniert zwar, aber eben nicht so, wie ich es möchte.

Code:
<?php
   
echo '<form action="'.$_SERVER['PHP_SELF'].'" method="post" enctype="multipart/form-data"><input type="file" name="userfile"><input type="submit" value=""></form>';
move_uploaded_file($_FILES['userfile']['tmp_name'],'/srv/www/vhosts/pyrgo.de/httpdocs/php/test/test.jpg');

?>
Er lädt es hoch, wenn ich auf Durchsuchen klicke, ein Bild auswählen und dann auf Submit drücke .... Er soll aber den Pfad schon mit dem Aufruf kennen. Es hat nichts gebracht, dass ich hier (<input type="file" name="userfile">) mit Value den Pfad reingeschrieben habe.

Es muss doch auch ohne gehen ... :gruebel:

Valle 20. Nov 2007 14:05

Re: [PHP] Bild via E-Mail schicken
 
Ach komm, so schwer ist es doch nicht. :zwinker:

Code:
<?

  if (isset($_FILES['userfile'])) {
    move_uploaded_file($_FILES['userfile']['tmp_name'], "/irgend/ein/pfad/datei.endung");
    mail(/* ... */);
  } else {
    echo '<form action="'.$_SERVER['PHP_SELF'].'" method="post" enctype="multipart/form-data"><input type="file" name="userfile"><input type="submit" value=""></form>';
  }

?>
Ist die Frage, wie du ein Bild als Anhang verschickst eigentlich geklärt?

Mit freundlichen Grüßen,

Valle

generic 20. Nov 2007 14:32

Re: [PHP] Bild via E-Mail schicken
 
Code:
   if ($_SERVER['REQUEST_METHOD']=='POST')
   {
     if (!(stristr($_FILES["Fotofile"]["type"],"image/"))||($_FILES["Fotofile"]["size"] > 5000000))
     { 
      $foto_fehler=true;
     } else {
      $to = "sdfgdsfg@dsfgdsfg.dfgsdfg";
                         $subject .= " dsgdsg: " ;
                        $headers = "From: Webformular <hjgkghk@hgjk.hgjk>" . "\r\n";
                        $headers .= "MIME-Version: 1.0" . "\r\n";
                      $headers .= "Content-type: " . mime_content_type($_FILES["Fotofile"]["tmp_name"]) . "\r\n";
                        $headers .= "Content-Transfer-Encoding: base64" . "\r\n";
                        $message = base64_encode(file_get_contents($_FILES["Fotofile"]['tmp_name'])) . "\r\n";
                        unlink($_FILES["Fotofile"]['tmp_name']);
                        mail($to, $subject, $message, $headers);
                        
    }
  }

Chrissi91 20. Nov 2007 14:35

Re: [PHP] Bild via E-Mail schicken
 
Zitat:

Zitat von Valle
Ach komm, so schwer ist es doch nicht. :zwinker:

Code:
<?

  if (isset($_FILES['userfile'])) {
    move_uploaded_file($_FILES['userfile']['tmp_name'], "/irgend/ein/pfad/datei.endung");
    mail(/* ... */);
  } else {
    echo '<form action="'.$_SERVER['PHP_SELF'].'" method="post" enctype="multipart/form-data"><input type="file" name="userfile"><input type="submit" value=""></form>';
  }

?>
Ist die Frage, wie du ein Bild als Anhang verschickst eigentlich geklärt?

Mit freundlichen Grüßen,

Valle

Ich glaube du verstehst nicht ganz. Wenn ich die PHP aufrufe, möchte ich als URL-Parameter den Pfad übergeben, also index.php?pfad=C:\.....

In der PHP soll dann die Datei hochgeladen, ohne die erst auswählen zu müssen. Allein mit dem Aufrufen des Links soll die Datei schon hochgeladen werden ohne den Duchsuchenbutton, etc.

Valle 20. Nov 2007 14:38

Re: [PHP] Bild via E-Mail schicken
 
Zitat:

Zitat von Chrissi91
Ich glaube du verstehst nicht ganz. Wenn ich die PHP aufrufe, möchte ich als URL-Parameter den Pfad übergeben, also index.php?pfad=C:\.....

In der PHP soll dann die Datei hochgeladen, ohne die erst auswählen zu müssen. Allein mit dem Aufrufen des Links soll die Datei schon hochgeladen werden ohne den Duchsuchenbutton, etc.

Achso. :pale: Das geht so ohne weiteres nicht. Eine mögliche Möglichkeit wäre, dass du mit Javascript arbeitest. Das heißt, du klickst auf den Link und dieser öffnet eine HTML Seite. Javascript füllt dann die Felder aus und sendet das Formular ab.

Eine andere Lösung kann ich mir nicht vorstellen, da der PHP-Server ja (zum Glück) keinen Zugriff auf den Client-PC hat.

Mit freundlichen Grüßen,

Valle

Chrissi91 20. Nov 2007 14:45

Re: [PHP] Bild via E-Mail schicken
 
Hm ... da ich die URL mit Delphi aufrufe, könnte ich die seite auch mit Delphi ausfüllen.

Hey ... du hast mich gerade auf die Idee gebracht. ;)

THX


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:22 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz