PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : php link funktion


Moritz
09.06.2011, 13:11:32
also ich habe ein kleines upload script gemacht:

<?php

// Variabeln festlegen
$max_byte_size = 999999999999999999;
$allowed_types = "(jpg|jpeg|gif|bmp|png|php|html)";

// Formular wurde abgeschickt
if($_POST["submit"] == "Upload") {

// Wurde wirklich eine Datei hochgeladen?
if(is_uploaded_file($_FILES["file"]["tmp_name"])) {

// Gültige Endung? ($ = Am Ende des Dateinamens) (/i = Groß- Kleinschreibung nicht berücksichtigen)
if(preg_match("/\." . $allowed_types . "$/i", $_FILES["file"]["name"])) {

// Datei auch nicht zu groß
if($_FILES["file"]["size"] <= $max_byte_size) {

// Alles OK -> Datei kopieren

if(copy($_FILES["file"]["tmp_name"], $_FILES["file"]["name"])) {

echo "Datei erfolgreich hochgeladen!<br>";
echo "Name: " . $_FILES["file"]["name"] . "<br>";
echo "Größe: " . $_FILES["file"]["size"] . " Byte<br>";
echo "MIME-Type: " . $_FILES["file"]["type"] . "<br>";
echo "Link: <a href=\"http://" . $_SERVER['HTTP_HOST'] ."/" . $_FILES["file"]["name"] . "\">http://" . $_SERVER['HTTP_HOST'] ."/" . $_FILES["file"]["name"] . "</a>";

}
else {

echo "Datei konnte nicht hochgeladen werden.";

}

}
else {

echo "Die Datei darf nur eine Größe von " . $max_byte_size . " Byte besitzen.";

}


und jetzt möchte ich das bei Link: irgenwas
wenn man da auf den link klickt steht da "der Download kann nun gestartet werden."

und dann öffnet sich die datei zum downloaden.
das mit dem downloaden hab ich schon so:

$file = $_FILES["file"]["name"]; header("Content-Type: application/octet-stream");


aber wie funkt es dann das es erst zu dwonloaden beginnt wenn man auf den link klickt?

DokuLeseHemmung
09.06.2011, 13:32:49
$allowed_types = "(jpg|jpeg|gif|bmp|png|php|html)";
Das hochladen von PHP Dateien erlauben?
Bist du wahnsinnig?

Verlasse dich auf nichts, was vom Client kommt.
Dateiendungen zu fälschen ist Null Problem.


Auch:
Wenn du das Handbuch zu Uploads befragen würdest, dann würde dir klar werden, dass copy() für diesen Zweck nicht sonderlich geeignet ist.

Moritz
09.06.2011, 13:36:04
1. kannste mir helfen
2. ich weis derjenige kann dan einfach eine datei hochladen und in der z.b programmieren das das mysql datebank passwort angezeigt wird.

DokuLeseHemmung
09.06.2011, 13:44:18
Zu 1:
Ich helfe dir ja schon.....
Aber deine Arbeit werde ich nicht erledigen.
Auch das lernen der Grundlagen kann ich dir nicht abnehmen.

Zu 2:
Du weißt das?
Warum läßt du es dann zu?

Ckaos
09.06.2011, 13:55:47
Hi

@Moritz
sorry aber so langsam find ich das einfach nur noch frech was du hier machst.
Kopierst irgendwo Scripte und gibst sie als deine eigenen aus mann mann mann
-> orginal ? (http://www.it-academy.cc/article/1359/PHP:+Upload+per+HTTP.html)

Also ich ignoriere ab jetzt deine Beiträge!

mfg

CKaos