<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>CGI Script für Uploads</title>
    <link>http://forum.geizhals.at/feed.jsp?id=465427</link>
    <description>Geizhals-Forum</description>
    <item>
      <title>Re(4): CGI Script für Uploads</title>
      <link>http://forum.geizhals.at/t465427,3874942.html#3874942</link>
      <description>In meinem Fall handelt es sich um eine Intranet-Anwendung - daher ist der Schutzfaktor nicht das wichtigste.&lt;br&gt;Es geht einfach darum, dass die Sachbearbeiter ihre Anhänge für die eMails auf den Server bekommen.&lt;br/&gt;</description>
      <pubDate>Wed, 03 Jan 2007 21:03:19 GMT</pubDate>
      <guid>http://forum.geizhals.at/t465427,3874942.html#3874942</guid>
      <dc:creator>Ingenico</dc:creator>
      <dc:date>2007-01-03T21:03:19Z</dc:date>
    </item>
    <item>
      <title>Re(3): CGI Script für Uploads</title>
      <link>http://forum.geizhals.at/t465427,3874934.html#3874934</link>
      <description>Bitte.&lt;br&gt;Nachteil: kein Schutz whatsoever. Wenn jemand der Seite kennt, kann er Dateien uploaden und irgendwo anders wieder anschauen. Löschen kannst natürlich nur du...&lt;br/&gt;</description>
      <pubDate>Wed, 03 Jan 2007 21:00:14 GMT</pubDate>
      <guid>http://forum.geizhals.at/t465427,3874934.html#3874934</guid>
      <dc:creator>Ardjan</dc:creator>
      <dc:date>2007-01-03T21:00:14Z</dc:date>
    </item>
    <item>
      <title>Re(2): CGI Script für Uploads</title>
      <link>http://forum.geizhals.at/t465427,3874918.html#3874918</link>
      <description>Danke - eine sehr schöne Lösung!&lt;br/&gt;</description>
      <pubDate>Wed, 03 Jan 2007 20:58:02 GMT</pubDate>
      <guid>http://forum.geizhals.at/t465427,3874918.html#3874918</guid>
      <dc:creator>Ingenico</dc:creator>
      <dc:date>2007-01-03T20:58:02Z</dc:date>
    </item>
    <item>
      <title>Re: CGI Script für Uploads</title>
      <link>http://forum.geizhals.at/t465427,3873046.html#3873046</link>
      <description>Ich habe folgendes PHP-Script auf eine Seite laufen:&lt;br&gt;&lt;div class=code&gt;&lt;pre&gt;&amp;lt;HTML&amp;gt;&#xD;
&amp;lt;HEAD&amp;gt;&#xD;
&amp;lt;/HEAD&amp;gt;&#xD;
&amp;lt;BODY&amp;gt;&#xD;
&amp;lt;?&#xD;
&#xD;
// Bestand gestuurd? Dan verplaatsen naar juiste dir!&#xD;
if (isset($_FILES['userfile'])) {&#xD;
  if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {&#xD;
    $uploaddir = '/var/...../files/';&#xD;
    $uploadfile = $uploaddir . basename($_FILES['userfile']['name']);&#xD;
    echo '&amp;lt;pre&amp;gt;';&#xD;
    if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {&#xD;
      echo "File is valid, and was successfully uploaded.\n";&#xD;
    } else {&#xD;
      echo "Possible file upload attack!\n";&#xD;
      echo "filename '". $_FILES['userfile']['tmp_name'] . "'.";&#xD;
      echo 'Here is some more debugging info:';&#xD;
      print_r($_FILES);&#xD;
    }&#xD;
  print "&amp;lt;/pre&amp;gt;";&#xD;
  }&#xD;
}&#xD;
&#xD;
// Directory ophalen en laten zien.&#xD;
$handle= opendir("/home/...../files/");&#xD;
rewinddir($handle);&#xD;
while ($file = readdir($handle)) {&#xD;
  if ($file != "." &amp;amp;&amp;amp; $file != "..") {&#xD;
    $mdir[]= $file;&#xD;
  }&#xD;
}&#xD;
closedir($handle);&#xD;
if (isset($mdir)) {&#xD;
  sort ($mdir);&#xD;
  reset ($mdir);&#xD;
  while (list ($key, $val) = each ($mdir)) {&#xD;
    $mtime = filemtime("/home/...../files/" . $val);&#xD;
    echo '&amp;lt;br&amp;gt;  ';&#xD;
    echo gmdate ("d-m-Y H:i", $mtime);&#xD;
    echo ' (GMT)  &amp;lt;a href="files/';&#xD;
    echo $val;&#xD;
    echo '"&amp;gt;';&#xD;
    echo $val;&#xD;
    echo '&amp;lt;/a&amp;gt;';&#xD;
    if (strpos(strtolower($val), ".jpg") || strpos(strtolower($val), ".gif") || strpos(strtolower($val), ".png")) {&#xD;
      echo '  &amp;lt;a href="files/';&#xD;
      echo $val;&#xD;
      echo '"&amp;gt;';&#xD;
      echo '&amp;lt;img  height="200" align="top" src="files/';&#xD;
      echo $val;&#xD;
      echo '"&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;br&amp;gt;';&#xD;
    }&#xD;
    echo "\n";&#xD;
  }&#xD;
} else {&#xD;
  echo '&amp;lt;br&amp;gt;No files.';&#xD;
}  &#xD;
&#xD;
?&amp;gt;&#xD;
&amp;lt;BR&amp;gt;&#xD;
&amp;lt;HR&amp;gt;&#xD;
New file to upload:&amp;lt;br&amp;gt;&#xD;
&amp;lt;FORM METHOD="post" ENCTYPE="multipart/form-data" ACTION="index.php"&amp;gt;&#xD;
&amp;lt;INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="2097152"&amp;gt;&#xD;
first select a file: &#xD;
&amp;lt;INPUT NAME="userfile" TYPE="file"&amp;gt;&#xD;
&amp;lt;p&amp;gt;Send it: &#xD;
&amp;lt;INPUT TYPE="submit" VALUE="Upload"&amp;gt;&#xD;
&amp;lt;/FORM&amp;gt;&#xD;
&amp;lt;/BODY&amp;gt;&#xD;
&amp;lt;/HTML&amp;gt;&lt;/pre&gt;&lt;/div&gt;Dies zeigt alle dateien eines Verzeichnisses, und blendet unten ein Formular ein womit du nog Files uploaden kannst. Sehr nützlich um Dateien aus zu tauschen weil man von überall Dateien zu sich nach Hause schicken kannst, ohne irgendwelche FTP-Programme installieren zu müssen...&lt;br/&gt;</description>
      <pubDate>Tue, 02 Jan 2007 22:45:46 GMT</pubDate>
      <guid>http://forum.geizhals.at/t465427,3873046.html#3873046</guid>
      <dc:creator>Ardjan</dc:creator>
      <dc:date>2007-01-02T22:45:46Z</dc:date>
    </item>
    <item>
      <title>Re: CGI Script für Uploads</title>
      <link>http://forum.geizhals.at/t465427,3869676.html#3869676</link>
      <description>use CGI; &lt;br&gt;&lt;br&gt;&lt;a href="http://search.cpan.org/~lds/CGI.pm-3.25/CGI.pm" rel="noopener" target="_blank"&gt;http:/&lt;wbr/&gt;/&lt;wbr/&gt;search.cpan.org/&lt;wbr/&gt;~lds/&lt;wbr/&gt;CGI.pm-3.25/&lt;wbr/&gt;CGI.pm&lt;/a&gt; &lt;br&gt;&lt;br&gt;da ist alles dran, was du dafür brauchst - und noch vieles mehr&lt;br/&gt;</description>
      <pubDate>Mon, 01 Jan 2007 09:15:37 GMT</pubDate>
      <guid>http://forum.geizhals.at/t465427,3869676.html#3869676</guid>
      <dc:creator>alexk</dc:creator>
      <dc:date>2007-01-01T09:15:37Z</dc:date>
    </item>
    <item>
      <title>Re: CGI Script für Uploads</title>
      <link>http://forum.geizhals.at/t465427,3869490.html#3869490</link>
      <description>Wenns auch ein PHP-Skript sein darf ...&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;div class=code&gt;&lt;pre&gt;&#xD;
&amp;lt;?php&#xD;
&#xD;
$target_dir = "temp/files/";&#xD;
if (!file_exists($target_dir)) die("create dir !");&#xD;
&#xD;
echo '&#xD;
&amp;lt;html&amp;gt;&#xD;
    &amp;lt;head&amp;gt;&#xD;
        &amp;lt;title&amp;gt;PHP-Uploader&amp;lt;/tile&amp;gt;&#xD;
    &amp;lt;/head&amp;gt;&#xD;
    &amp;lt;body&amp;gt;&#xD;
        &amp;lt;h1&amp;gt;PHP-Uploader&amp;lt;/h1&amp;gt;&amp;lt;br&amp;gt;&#xD;
';&#xD;
&#xD;
function getFileElement($name, $index = -1)&#xD;
{&#xD;
    return(is_array($GLOBALS["_FILES"]["files"][$name])? &#xD;
                    $GLOBALS["_FILES"]["files"][$name][$index] : &#xD;
                    $GLOBALS["_FILES"]["files"][$name]);&#xD;
}    &#xD;
&#xD;
if ($GLOBALS["_FILES"]["files"])&#xD;
{&#xD;
    for ($index = 0; $index &amp;lt; count($GLOBALS["_FILES"]["files"]); $index++)&#xD;
    {&#xD;
        if (getFileElement("error", $index) == 0)&#xD;
        {&#xD;
            $upload_file = getFileElement("tmp_name", $index);&#xD;
            $upload_name = getFileElement("name", $index);&#xD;
            move_uploaded_file($upload_file, $target_dir.$upload_name);&#xD;
            chmod($target_dir.$upload_name, 0750);&#xD;
            &#xD;
            echo 'File &amp;lt;b&amp;gt;'.$upload_name.'&amp;lt;/b&amp;gt; uploaded !&amp;lt;br&amp;gt;';&#xD;
        }&#xD;
    }&#xD;
}&#xD;
&#xD;
echo '&#xD;
        &amp;lt;br&amp;gt;&#xD;
        &amp;lt;form method="post" enctype="multipart/form-data" action="upload.php"&amp;gt;         &#xD;
            File 1 : &amp;lt;input type="file" name="files[]" size="20"&amp;gt;&amp;lt;br&amp;gt;&#xD;
            File 2 : &amp;lt;input type="file" name="files[]" size="20"&amp;gt;&amp;lt;br&amp;gt;&#xD;
            File 3 : &amp;lt;input type="file" name="files[]" size="20"&amp;gt;&amp;lt;br&amp;gt;&#xD;
            File 4 : &amp;lt;input type="file" name="files[]" size="20"&amp;gt;&amp;lt;br&amp;gt;&#xD;
            File 5 : &amp;lt;input type="file" name="files[]" size="20"&amp;gt;&amp;lt;br&amp;gt;&#xD;
            &amp;lt;br&amp;gt;&#xD;
            &amp;lt;input type="submit" value="upload"&amp;gt;&#xD;
        &amp;lt;/form&amp;gt;&#xD;
    &amp;lt;/body&amp;gt;&#xD;
&amp;lt;/html&amp;gt;&#xD;
';&#xD;
&#xD;
?&amp;gt;&#xD;
&lt;/pre&gt;&lt;/div&gt;&lt;br&gt;&lt;br/&gt;</description>
      <pubDate>Sun, 31 Dec 2006 23:30:42 GMT</pubDate>
      <guid>http://forum.geizhals.at/t465427,3869490.html#3869490</guid>
      <dc:creator>jobnavigator</dc:creator>
      <dc:date>2006-12-31T23:30:42Z</dc:date>
    </item>
    <item>
      <title>Re(5): CGI Script für Uploads</title>
      <link>http://forum.geizhals.at/t465427,3868983.html#3868983</link>
      <description>ich halte es für einen sehr sehr guten ansatz. den rest musst du schon selbst machen, was dann auch passiert ist.&lt;br/&gt;</description>
      <pubDate>Sun, 31 Dec 2006 15:03:04 GMT</pubDate>
      <guid>http://forum.geizhals.at/t465427,3868983.html#3868983</guid>
      <dc:creator>hans_peter_karl_heinz</dc:creator>
      <dc:date>2006-12-31T15:03:04Z</dc:date>
    </item>
    <item>
      <title>Re(4): CGI Script für Uploads</title>
      <link>http://forum.geizhals.at/t465427,3868969.html#3868969</link>
      <description>Dieses Script erkennt auch nicht sebstständig, welche Teile des multipart-Requests, einen File-Upload darstellen. Weiters ist es bloss für ein einziges File konzipiert.&lt;br&gt;Und falls der Server in das Verzeichnis nicht schreiben darf, oder gar kein File übertragen wird, bedankt er sich auch brav für den Upload. Die Fehlermeldungen sieht man dann nur im Apache-log.&lt;br&gt;&lt;br&gt;Das Ganze ist mehr ein gut dokumentiertes Demo zu "cgi.pm" als ein Script für den Echtbetrieb.&lt;br&gt;Ich hab das ganze mittlerweile in Python gelöst (auch auf Basis einer CGI-Library um sich die Knochenarbeit zu ersparen). War wenigstens eine Gelegenheit, sich dieser unglaublich "schönen" Sprache zu nähern &lt;img src="zwinker.gif" width="16" height="19" align="absmiddle" alt=";-)"/&gt;&lt;br/&gt;</description>
      <pubDate>Sun, 31 Dec 2006 14:46:31 GMT</pubDate>
      <guid>http://forum.geizhals.at/t465427,3868969.html#3868969</guid>
      <dc:creator>Ingenico</dc:creator>
      <dc:date>2006-12-31T14:46:31Z</dc:date>
    </item>
    <item>
      <title>Re(3): CGI Script für Uploads</title>
      <link>http://forum.geizhals.at/t465427,3868849.html#3868849</link>
      <description>&lt;a href="http://www.sitepoint.com/article/uploading-files-cgi-perl" rel="noopener" target="_blank"&gt;http:/&lt;wbr/&gt;/&lt;wbr/&gt;www.sitepoint.com/&lt;wbr/&gt;article/&lt;wbr/&gt;uploading-files-cgi-perl&lt;/a&gt;&amp;nbsp;&amp;nbsp;(thnx Nagelfar, sehr sehr guter vorschlag)&lt;br/&gt;</description>
      <pubDate>Sun, 31 Dec 2006 13:46:21 GMT</pubDate>
      <guid>http://forum.geizhals.at/t465427,3868849.html#3868849</guid>
      <dc:creator>hans_peter_karl_heinz</dc:creator>
      <dc:date>2006-12-31T13:46:21Z</dc:date>
    </item>
    <item>
      <title>Re: CGI Script für Uploads</title>
      <link>http://forum.geizhals.at/t465427,3847453.html#3847453</link>
      <description>Ich kenne nur das File Upload von commons (Apache)&lt;br&gt;&lt;a href="http://jakarta.apache.org/commons/fileupload/" rel="noopener" target="_blank"&gt;http:/&lt;wbr/&gt;/&lt;wbr/&gt;jakarta.apache.org/&lt;wbr/&gt;commons/&lt;wbr/&gt;fileupload/&lt;wbr/&gt;&lt;/a&gt; &lt;br&gt;, dieses kommt aber aus der Java-Ecke. &lt;br/&gt;</description>
      <pubDate>Tue, 19 Dec 2006 04:31:28 GMT</pubDate>
      <guid>http://forum.geizhals.at/t465427,3847453.html#3847453</guid>
      <dc:creator>nergal</dc:creator>
      <dc:date>2006-12-19T04:31:28Z</dc:date>
    </item>
    <item>
      <title>Re(2): CGI Script für Uploads</title>
      <link>http://forum.geizhals.at/t465427,3847321.html#3847321</link>
      <description>&lt;blockquote&gt;&lt;em&gt; Dann dreh jetzt bitte sofort deinen PC ab und gib ihn jemandem, der ihn auch bedienen kann&lt;br&gt;&lt;/em&gt;&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;Ich sprach davon, ob jemand ein script "kennt", und weiters schrieb ich, dass ich nix "gscheits" finde. Und nicht, ob ob mir jemand bei google behilflich sein kann.&lt;br&gt;Was meinst, wie viele "Fetzen" SourceCode im Internet herumoxidieren!?&lt;br&gt;Das eine Stück Script unterstütz nicht mehr als ein File pro Request, ein anderes keine binaries, ein weiteres ignoriert die übertragenen Filenames, ein anderes ist bloß ein Library aber ohne MainPart oder Examples etc.etc.&lt;br&gt;&lt;br&gt;Und bevor ich jetzt meinen PC wirklich abdrehe, noch die Frage - "kennst" jetzt ein Script (im Sinne von verwendet, getestet, mitreden können ...)?&lt;br&gt;&lt;br/&gt;</description>
      <pubDate>Mon, 18 Dec 2006 22:39:47 GMT</pubDate>
      <guid>http://forum.geizhals.at/t465427,3847321.html#3847321</guid>
      <dc:creator>Ingenico</dc:creator>
      <dc:date>2006-12-18T22:39:47Z</dc:date>
    </item>
    <item>
      <title>CGI Script für Uploads</title>
      <link>http://forum.geizhals.at/t465427,3846155.html#3846155</link>
      <description>Hi zsammen!&lt;br&gt;&lt;br&gt;Kennt jemand ein Script (Python oder Perl wäre ideal), welches nichts anderes macht, als einen File-Upload über HTTP/CGI zu verarbeiten?&lt;br&gt;&lt;br&gt;Es soll vom Client ein HTML-Formular mit mehreren [inputs type="file"] übertragen werden (enctype="multipart/form-data") und die Binarys mit den entsprechenden Filenamen in einem konfigurierbaren Verzeichnis abgelegt werden.&lt;br&gt;&lt;br&gt;Klingt naiv, aber ich find nix gscheits!&lt;br&gt;&lt;br&gt;Danke!&lt;br&gt;Erich&lt;br/&gt;</description>
      <pubDate>Mon, 18 Dec 2006 15:03:34 GMT</pubDate>
      <guid>http://forum.geizhals.at/t465427,3846155.html#3846155</guid>
      <dc:creator>Ingenico</dc:creator>
      <dc:date>2006-12-18T15:03:34Z</dc:date>
    </item>
  </channel>
</rss>
