"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

BLOBs mit PHP aus MySQL lesen

prayerslayer 21.09.2005 - 08:44 3147 28
Posts

cduke

Big d00d
Registered: Nov 2001
Location: 1230 Wien
Posts: 253
Neiiiin - so war das Doch nicht gemeint! Du darfst in der Datei display_pic.php nix vorher ausgeben! Kannst Du bitte mal den Code attachen - so wird das sonst nix. :)

Die Seite liegt ja nicht schon auf irgend einem Server, der von außen zu erreichen ist?

prayerslayer

Oar. Mh.
Avatar
Registered: Sep 2004
Location: vorm Sucher
Posts: 4073
tu ich ja auch gar nicht!

Code: PHP
  include("connect.php");
  $query_pics="SELECT * FROM PICS";
  $result_pics=mysql_query($query_pics);
  $row_result_pics=mysql_fetch_assoc($result_pics);
  header ('Content-Type: image/jpeg');
  echo $row_result_pics['HEAD'];

trotzdem wird (wie auf dem bild) nur der alternativ-text angezeigt. und na, ich hab die site noch aufm localhost :)

//edit: php-code angehängt
connect_85369.txt (downloaded 71x)
display_pic_85370.txt (downloaded 69x)
index_85371.txt (downloaded 67x)
Bearbeitet von prayerslayer am 23.09.2005, 11:16

cduke

Big d00d
Registered: Nov 2001
Location: 1230 Wien
Posts: 253
Was steht in $row_result_pics; kannst Du da mal bitte ein var_dump drauf machen und hier reinposten. Wenns ein 5MB Bild ist, dann reichts aber zu schreiben, dass es lauter wirre Zeichen sind ;)

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
Code: PHP
  if (isset($_GET['sprache']))

  {

    echo('<a href=index.php>Deutsch</a>');

    $sprache="EN";

  }else

  {

    echo('<a href=index.php?sprache=EN>Englisch</a>');

    $sprache="DE";

  }
dieser text wird in dein bild geschrieben, deswegen is es fehlerhaft

Ich möchte auch noch sagen dass BLOBs die Datenbank-Performance *nicht* negativ beeinflussen, nur wenn diese oft selected werden und die einzelnen Blobs wirklich gross sind.
Das gilt dann aber sowieso für jeden Select über eine grosse table, bzw. sowieso jeden select - wenn ich sehr oft verschiedene selects auf eine table mach - nona geht der server ein...
Bearbeitet von watchout am 23.09.2005, 12:26

prayerslayer

Oar. Mh.
Avatar
Registered: Sep 2004
Location: vorm Sucher
Posts: 4073
Zitat von cduke
Was steht in $row_result_pics; kannst Du da mal bitte ein var_dump drauf machen und hier reinposten. Wenns ein 5MB Bild ist, dann reichts aber zu schreiben, dass es lauter wirre Zeichen sind ;)
Zitat
trotzdem wird (wie auf dem bild) nur der alternativ-text angezeigt.

;) wirre zeichen hab ich früher gehabt, jetzt s.o.

cduke

Big d00d
Registered: Nov 2001
Location: 1230 Wien
Posts: 253
Watchout hat's eh schon hingeschrieben - Du machst bereits eine Ausgabe von Text in der connect.php - das kann nicht hinhaun. Du musst den Text in einer anderen Datei einfügen/ausgeben lassen. BTW - in einer connect.php hat das sowieso nix zum suchen.

Probier's aus - kommentier' die echos aus, dann gehts.

prayerslayer

Oar. Mh.
Avatar
Registered: Sep 2004
Location: vorm Sucher
Posts: 4073
so, die deadline war schon und ich habs ganz einfach mit pfadangabe gemacht. blobs stinken gröber :D

danke für die hilfe!

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
Zitat von prayerslayer
so, die deadline war schon und ich habs ganz einfach mit pfadangabe gemacht. blobs stinken gröber :D

danke für die hilfe!
Dein Problem hatte sicher nichts mit Blobs zu tun

prayerslayer

Oar. Mh.
Avatar
Registered: Sep 2004
Location: vorm Sucher
Posts: 4073
wie auch immer. ich habs net gschafft und damit is die geschichte erledigt ;)

derelict

Legend
Legend
Avatar
Registered: May 2004
Location: outside
Posts: 365
Komischer Kurs/Schule :confused:
Unterrichten PHP ohne vorher HTML- bzw. HTTP Grundlagen zu lehren.

semteX

begehrt die rostschaufel
Avatar
Registered: Oct 2002
Location: Pre
Posts: 14590
dere: müssn sie, die schüler müssn ja auch "Kenntnisse: PHP, MySQL,..." in die bewerbung schreiben können...

@prayerslayer: Komische einstellung... "zeit abgelaufn, ihr habts die prüfung für mich ned geschaft, interessiert mich nicht mehr.. rm -rf /php"..

prayerslayer

Oar. Mh.
Avatar
Registered: Sep 2004
Location: vorm Sucher
Posts: 4073
Zitat von semteX
@prayerslayer: Komische einstellung... "zeit abgelaufn, ihr habts die prüfung für mich ned geschaft, interessiert mich nicht mehr.. rm -rf /php"..

na ich glaub du verstehst was falsch. das wär für ein stundenprotokoll/aufgabe gewesen und sowas hat nun mal eine deadline (abgabedatum quasi ;) ). und wenn ichs bis dahin net hinkrieg dann interessierts mich nachher nimmer. weil ihr werdets ja wohl selbst zugeben das die aufgabenstellung mit pfadangabe wesentlich leichter zu lösen ist als mit blobs, oder?
woraus folgt das ich blobs nie mehr verwenden werd (außer es geht net anders) und drum is mir des jetzt wurscht :)

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
Öh. Nein. Nein.

Pfadangabe hat andere Probleme - zB. wenn du von *nix auf Windos umsteigst oder umgekehrt, bzw. absolute, relative Pfadangaben hast und ein directory ändert sich.
Dann hast du noch den Sicherheitsaspekt - willst du überhaupt dass der User weiss wo die Files liegen, wenn nicht wie maskierst du diese oder wie verhinderst du dass der User darauf zugreifen kann, uswusf.

Zusätzlich ist wie (von anderen Usern) gesagt dein Problem nicht von den Blobs gekommen, sondern vom generellen Verständnis was HTML/HTTP/ bzw. generell Programm-/Script-ablauf und Server-Client Kommunikation betrifft.
Ich behaupte hättest du das Verstanden, wäre dir sofort klar gewesen dass deine Ansätze alle einfach nicht gehen können - und das ohne sie nur auszuprobieren.

Und zuletzt, die Forum-Komponente. Wenn du dich jetzt nicht mehr dafür interessierst, werden sich die Leute hier das merken, und sich beim nächsten Mal es 2x überlegen ob sie deinen Thread überhaupt mal lesen, oder Zeit in eine Beantwortung investieren. Wir helfen dir umsonst, aber wir helfen dir nicht sinnlos...

that

Moderator
Hoffnungsloser Optimist
Avatar
Registered: Mar 2000
Location: MeidLing
Posts: 11338
Zitat von watchout
Pfadangabe hat andere Probleme - zB. wenn du von *nix auf Windos umsteigst oder umgekehrt, bzw. absolute, relative Pfadangaben hast und ein directory ändert sich.
Dann hast du noch den Sicherheitsaspekt - willst du überhaupt dass der User weiss wo die Files liegen, wenn nicht wie maskierst du diese oder wie verhinderst du dass der User darauf zugreifen kann, uswusf.

Pfade werden in der DB natürlich relativ zu einem konfigurierten Verzeichnis gespeichert, dann hat man keine Probleme mit Unix/Windows-Unterschieden (beide verstehen "/" als Trennzeichen). User können sowieso nicht direkt auf Files am Server zugreifen, also ist das auch kein Problem. Security lässt sich über die Anwendung regeln.

Interessanter sind andere Dinge, die natürlich erst in einer Produktionsumgebung relevant werden:

- Wenn in die DB geschrieben wird, wie koordiniert man das Schreiben in die Files und die DB-Transaktion? (also wie garantiert man ACID mit externen Files)

- Wie organisiert man ein Backup, möglicherweise noch im laufenden Betrieb, eines synchronen Stands der DB mit den Files?

- Was passiert bei einem Restore der DB (aus welchen Gründen auch immer) mit den Files?
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz