Προβλημα με εικόνες στη MySQL

Συζητήσεις για την βάση δεδομένων MySQL και το phpMyAdmin

Συντονιστές: WebDev Moderators, Super-Moderators

dotoree
Δημοσιεύσεις: 16
Εγγραφή: 29 Ιαν 2009 10:51

Προβλημα με εικόνες στη MySQL

Δημοσίευση από dotoree » 06 Φεβ 2009 18:07

korgr έγραψε:μήπως απλά να αντικαταστήσεις το $_POST['image'] με το $_FILES['image']['name'] ;
Λέω τώρα εγώ...
:roll:
Nomizw oti thelei kati tis parapanw...
check:
http://www.php-mysql-tutorial.com/wikis ... abase.aspx

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

Προβλημα με εικόνες στη MySQL

Δημοσίευση από korgr » 06 Φεβ 2009 23:01

Εχεις κολησει με την λογικη να ανεβασεις το ιδιο το file ΜΕΣΑ στην mysql
Σου λεμε δεν ειναι η πλεον ενδεδειγμενη λυση και εσυ επιμενεις.
Οχι δεν χρειαζεται τιποτα παραπανω απο οσα εγραψα (μαρτυρες μου τα απειρα images που εχουν γινει -και συνεχιζουν να γινονται- upload σε περισσοτερα απο τα 100 sites μου) :wink:

Επαναλαμβάνω, στην mysql αποθηκευεις μονο το ονομα του αρχειου
Το ιδιο το αρχειο το διαχειριζεσαι ως uploaded file μεσα απο την php!

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Προβλημα με εικόνες στη MySQL

Δημοσίευση από Apostolis_38 » 07 Φεβ 2009 15:13

:D :D :D
korgr, μη το βαράς το παιδί :D

ewigkeit
Δημοσιεύσεις: 36
Εγγραφή: 26 Μάιος 2008 17:15

Προβλημα με εικόνες στη MySQL

Δημοσίευση από ewigkeit » 07 Φεβ 2009 15:51

korgr έγραψε:Εχεις κολησει με την λογικη να ανεβασεις το ιδιο το file ΜΕΣΑ στην mysql
Σου λεμε δεν ειναι η πλεον ενδεδειγμενη λυση και εσυ επιμενεις.
Οχι δεν χρειαζεται τιποτα παραπανω απο οσα εγραψα (μαρτυρες μου τα απειρα images που εχουν γινει -και συνεχιζουν να γινονται- upload σε περισσοτερα απο τα 100 sites μου) :wink:

Επαναλαμβάνω, στην mysql αποθηκευεις μονο το ονομα του αρχειου
Το ιδιο το αρχειο το διαχειριζεσαι ως uploaded file μεσα απο την php!
Μα δε προσπαθω να αποθηκευσω την εικονα στη mysql.
Βρηκα ενα τροπο για να κανω upload την εικονα , αλλα δε ξερω πως να αποθηκευσω τη διαδρομη στη mysql, και ο browser να κοιταει μετα τον φακελο που εχει τις εικονες.

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6230
Εγγραφή: 30 Νοέμ 2004 03:09

Προβλημα με εικόνες στη MySQL

Δημοσίευση από fafos » 07 Φεβ 2009 16:11

sthn vash sozeis to onoma tou arxeiou (p.x. eikona.jpg)... h diadromh pros ton fakello opou tha apothikeuontai den thn kataxoreis sthn vash ektos kai an prokeitai na xrhsimopoihseis pano apo 1 fakelo gia thn apothikeush... (autos o fakelos prepei na exei write permitions)..
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

ewigkeit
Δημοσιεύσεις: 36
Εγγραφή: 26 Μάιος 2008 17:15

Προβλημα με εικόνες στη MySQL

Δημοσίευση από ewigkeit » 08 Φεβ 2009 18:13

fafos έγραψε:sthn vash sozeis to onoma tou arxeiou (p.x. eikona.jpg)... h diadromh pros ton fakello opou tha apothikeuontai den thn kataxoreis sthn vash ektos kai an prokeitai na xrhsimopoihseis pano apo 1 fakelo gia thn apothikeush... (autos o fakelos prepei na exei write permitions)..
Βρηκα ενα τροπο και το εκανα και δουλεψε,αλλα στη βαση δε βλεπω το ονομα της εικονας αλλα την τιμη "Array" υποθετω οτι σωζει εκει περα και άλλες μεταβλητες,περα απο το ονομα.

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6230
Εγγραφή: 30 Νοέμ 2004 03:09

Προβλημα με εικόνες στη MySQL

Δημοσίευση από fafos » 08 Φεβ 2009 21:11

ewigkeit έγραψε:
Βρηκα ενα τροπο και το εκανα και δουλεψε,αλλα στη βαση δε βλεπω το ονομα της εικονας αλλα την τιμη "Array" υποθετω οτι σωζει εκει περα και άλλες μεταβλητες,περα απο το ονομα.
mallon stelneis kari allo sthn vash.. an den mas deikseis kodika den mporoume na katalavoume ti kaneis..
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

ewigkeit
Δημοσιεύσεις: 36
Εγγραφή: 26 Μάιος 2008 17:15

Προβλημα με εικόνες στη MySQL

Δημοσίευση από ewigkeit » 09 Φεβ 2009 11:36

fafos έγραψε:
ewigkeit έγραψε:
Βρηκα ενα τροπο και το εκανα και δουλεψε,αλλα στη βαση δε βλεπω το ονομα της εικονας αλλα την τιμη "Array" υποθετω οτι σωζει εκει περα και άλλες μεταβλητες,περα απο το ονομα.
mallon stelneis kari allo sthn vash.. an den mas deikseis kodika den mporoume na katalavoume ti kaneis..
Oριστε.

Κώδικας: Επιλογή όλων

<?php

  if &#40;PHP_VERSION < 6&#41; &#123;
	$HTTP_POST_FILES = &$_FILES;
&#125;

define&#40;"MAX_SIZE",300000&#41;;
define&#40;"DESTINATION_FOLDER", "./product_images"&#41;;
define&#40;"no_error", ""&#41;;
define&#40;"yes_error", ""&#41;;
$_accepted_extensions_ = "";
if&#40;strlen&#40;$_accepted_extensions_&#41; > 0&#41;&#123;
	$_accepted_extensions_ = @explode&#40;",",$_accepted_extensions_&#41;;
&#125; else &#123;
	$_accepted_extensions_ = array&#40;&#41;;
&#125;

$_file_ = $HTTP_POST_FILES&#91;'fileupload'&#93;;
if&#40;is_uploaded_file&#40;$_file_&#91;'tmp_name'&#93;&#41; && $HTTP_POST_FILES&#91;'fileupload'&#93;&#91;'error'&#93; == 0&#41;&#123;
	$errStr = "";
	$_name_ = $_file_&#91;'name'&#93;;
	$_type_ = $_file_&#91;'type'&#93;;
	$_tmp_name_ = $_file_&#91;'tmp_name'&#93;;
	$_size_ = $_file_&#91;'size'&#93;;
	if&#40;$_size_ > MAX_SIZE && MAX_SIZE > 0&#41;&#123;
		$errStr = "File too large";
	&#125;
	$_ext_ = explode&#40;".", $_name_&#41;;
	$_ext_ = strtolower&#40;$_ext_&#91;count&#40;$_ext_&#41;-1&#93;&#41;;
	if&#40;!in_array&#40;$_ext_, $_accepted_extensions_&#41; && count&#40;$_accepted_extensions_&#41; > 0&#41;&#123;
		$errStr = "Invalid extension";
	&#125;
	if&#40;!is_dir&#40;DESTINATION_FOLDER&#41; && is_writeable&#40;DESTINATION_FOLDER&#41;&#41;&#123;
		$errStr = "Destination folder invalid";
	&#125;
	if&#40;empty&#40;$errStr&#41;&#41;&#123;
		if&#40;@copy&#40;$_tmp_name_,DESTINATION_FOLDER . "/" . $_name_&#41;&#41;&#123;
			header&#40;"Location&#58; " . no_error&#41;;
		&#125; else &#123;
			header&#40;"Location&#58; " . yes_error&#41;;
		&#125;
	&#125; else &#123;
		header&#40;"Location&#58; " . yes_error&#41;;
	&#125;
&#125;
?>
<?php require_once&#40;'Connections/connection.php'&#41;; ?>
<?php
if &#40;!function_exists&#40;"GetSQLValueString"&#41;&#41; &#123;
function GetSQLValueString&#40;$theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = ""&#41; 
&#123;
  if &#40;PHP_VERSION < 6&#41; &#123;
    $theValue = get_magic_quotes_gpc&#40;&#41; ? stripslashes&#40;$theValue&#41; &#58; $theValue;
  &#125;

  $theValue = function_exists&#40;"mysql_real_escape_string"&#41; ? mysql_real_escape_string&#40;$theValue&#41; &#58; mysql_escape_string&#40;$theValue&#41;;

  switch &#40;$theType&#41; &#123;
    case "text"&#58;
      $theValue = &#40;$theValue != ""&#41; ? "'" . $theValue . "'" &#58; "NULL";
      break;    
    case "long"&#58;
    case "int"&#58;
      $theValue = &#40;$theValue != ""&#41; ? intval&#40;$theValue&#41; &#58; "NULL";
      break;
    case "double"&#58;
      $theValue = &#40;$theValue != ""&#41; ? doubleval&#40;$theValue&#41; &#58; "NULL";
      break;
    case "date"&#58;
      $theValue = &#40;$theValue != ""&#41; ? "'" . $theValue . "'" &#58; "NULL";
      break;
    case "defined"&#58;
      $theValue = &#40;$theValue != ""&#41; ? $theDefinedValue &#58; $theNotDefinedValue;
      break;
  &#125;
  return $theValue;
&#125;
&#125;

$editFormAction = $_SERVER&#91;'PHP_SELF'&#93;;
if &#40;isset&#40;$_SERVER&#91;'QUERY_STRING'&#93;&#41;&#41; &#123;
  $editFormAction .= "?" . htmlentities&#40;$_SERVER&#91;'QUERY_STRING'&#93;&#41;;
&#125;

if &#40;&#40;isset&#40;$_POST&#91;"MM_insert"&#93;&#41;&#41; && &#40;$_POST&#91;"MM_insert"&#93; == "form1"&#41;&#41; &#123;
  $insertSQL = sprintf&#40;"INSERT INTO products &#40;product_brand, product_model, product_price, product_image&#41; VALUES &#40;%s, %s, %s, %s&#41;",
                       GetSQLValueString&#40;$_POST&#91;'brand'&#93;, "text"&#41;,
                       GetSQLValueString&#40;$_POST&#91;'model'&#93;, "text"&#41;,
                       GetSQLValueString&#40;$_POST&#91;'price'&#93;, "double"&#41;,
                       GetSQLValueString&#40;$_FILES&#91;'fileupload'&#93;, "text"&#41;&#41;;

  mysql_select_db&#40;$database_connection, $connection&#41;;
  $Result1 = mysql_query&#40;$insertSQL, $connection&#41; or die&#40;mysql_error&#40;&#41;&#41;;

  $insertGoTo = "success.php";
  if &#40;isset&#40;$_SERVER&#91;'QUERY_STRING'&#93;&#41;&#41; &#123;
    $insertGoTo .= &#40;strpos&#40;$insertGoTo, '?'&#41;&#41; ? "&" &#58; "?";
    $insertGoTo .= $_SERVER&#91;'QUERY_STRING'&#93;;
  &#125;
  header&#40;sprintf&#40;"Location&#58; %s", $insertGoTo&#41;&#41;;
&#125;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http&#58;//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http&#58;//www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<form action="<?php echo $editFormAction; ?>" method="post" enctype="multipart/form-data" name="form1" id="form1">
  <table border="0" align="center" cellpadding="3">
    <tr>
      <td>Brand</td>
      <td><label>
        <input type="text" name="brand" id="brand" />
      </label></td>
    </tr>
    <tr>
      <td>Model</td>
      <td><label>
        <input type="text" name="model" id="model" />
      </label></td>
    </tr>
    <tr>
      <td>Price</td>
      <td><label>
        <input type="text" name="price" id="price" />
      </label></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td><label>
        <input type="file" name="fileupload" id="fileupload" />
      </label></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td><label>
        <input type="submit" name="submit" id="submit" value="Αποστολή" />
      </label></td>
    </tr>
  </table>
  <input type="hidden" name="MM_insert" value="form1" />
</form>
</body>
</html>

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6230
Εγγραφή: 30 Νοέμ 2004 03:09

Προβλημα με εικόνες στη MySQL

Δημοσίευση από fafos » 09 Φεβ 2009 14:11

Se auto edo: $_accepted_extensions_ = ""; den tha eprepe na eixes poies katalhkseis epitrepeis na anevazoun? (p.x. jpg,gif,png klp)
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

ewigkeit
Δημοσιεύσεις: 36
Εγγραφή: 26 Μάιος 2008 17:15

Προβλημα με εικόνες στη MySQL

Δημοσίευση από ewigkeit » 09 Φεβ 2009 15:40

fafos έγραψε:Se auto edo: $_accepted_extensions_ = ""; den tha eprepe na eixes poies katalhkseis epitrepeis na anevazoun? (p.x. jpg,gif,png klp)
Αν θες το κανεις,αλλα αμα το αφησεις κενο,αφηνει ολες τις καταλήξεις αρχειων να ανεβαινουν.
Η τιμη "array" που βλεπω στο πεδιο του ονοματος του αρχειου μεσα στη mysql ειναι που με προβληματιζει

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6230
Εγγραφή: 30 Νοέμ 2004 03:09

Προβλημα με εικόνες στη MySQL

Δημοσίευση από fafos » 09 Φεβ 2009 16:25

gia allakse to:

GetSQLValueString($_FILES['fileupload'], "text"));

me auto:

GetSQLValueString($_name_, "text"));
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

ewigkeit
Δημοσιεύσεις: 36
Εγγραφή: 26 Μάιος 2008 17:15

Προβλημα με εικόνες στη MySQL

Δημοσίευση από ewigkeit » 09 Φεβ 2009 17:34

fafos έγραψε:gia allakse to:

GetSQLValueString($_FILES['fileupload'], "text"));

me auto:

GetSQLValueString($_name_, "text"));
E όχι ρε θηριο.....δουλεψε!!!!!!!!!!!

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

Προβλημα με εικόνες στη MySQL

Δημοσίευση από korgr » 09 Φεβ 2009 21:04

Θα σου δούλευε από πριν αν προσεχες λίγο τι σου γραφουμε. :wink:
Σου πρότεινα το $_FILES['fileupload']['name'] και τελικά τον δείκτη ['name'] τον αγνόησες (γιαυτό και αποθήκευε array).
Με λίγα λόγια θα σου δουλευε επισης αν το ειχες κανει

Κώδικας: Επιλογή όλων

GetSQLValueString&#40;$_FILES&#91;'fileupload'&#93;&#91;'name'&#93;, "text"&#41;&#41;; 

ewigkeit
Δημοσιεύσεις: 36
Εγγραφή: 26 Μάιος 2008 17:15

Προβλημα με εικόνες στη MySQL

Δημοσίευση από ewigkeit » 09 Φεβ 2009 23:11

korgr έγραψε:Θα σου δούλευε από πριν αν προσεχες λίγο τι σου γραφουμε. :wink:
Σου πρότεινα το $_FILES['fileupload']['name'] και τελικά τον δείκτη ['name'] τον αγνόησες (γιαυτό και αποθήκευε array).
Με λίγα λόγια θα σου δουλευε επισης αν το ειχες κανει

Κώδικας: Επιλογή όλων

GetSQLValueString&#40;$_FILES&#91;'fileupload'&#93;&#91;'name'&#93;, "text"&#41;&#41;; 
Ναι το δοκιμασα μολις και δουλεψε και αυτο.
Το ειχε κανει και ποιο πριν αλλα δε ξερω γιατι δε δουλευε.

Τεσπα ευχαριστω.
Τωρα πως εμφανιζω την εικονα στη σελιδα ομως?
Βασικα εχω ενα table και σε ενα κελι αριστερα θελω να εμφανιζεται η εικονα.
Κανα scriptακι να την εμφανιζει εχει κανεις?

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Προβλημα με εικόνες στη MySQL

Δημοσίευση από Apostolis_38 » 10 Φεβ 2009 10:34

Κάνεις ενα query για να τραβάς τις εγγραφές απο την βάση και στο σημείο που θέλεις να εμφανίζεται η εικόνα βάζεις

Κώδικας: Επιλογή όλων

<img src="../../../../'.$row&#91;'...'&#93;.' " height ="100" width = "200">
Εκεί που είναι οι τελίτσες βάζεις το path για τον φάκελο που έχεις αποθηκεύσει το image και στο $row το όνομα του πεδίου, (νομίζω σε σένα οτι είναι image).
Πρόσεχε πως θα χρησιμοποιήσεις τα ' και τα ".
Εγώ τα έχω έτσι γιατί εμφανίζω την εγγραφή με echo. Πιθανόν να χρειαστεί να το φέρεις στα μέτρα σου.

Απάντηση

Επιστροφή στο “MySQL”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες