file upload πρόβλημα

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

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

Απάντηση
newbie89
Δημοσιεύσεις: 16
Εγγραφή: 06 Μάιος 2009 22:48

file upload πρόβλημα

Δημοσίευση από newbie89 » 02 Ιουν 2009 15:24

Καλησπέρα, προσπαθώ να ανεβάσω μια εικόνα σύμφωνα με τον κώδικα

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

<?php
if &#40;&#40;&#40;$_FILES&#91;"file"&#93;&#91;"type"&#93; == "image/gif"&#41;
|| &#40;$_FILES&#91;"file"&#93;&#91;"type"&#93; == "image/jpeg"&#41;
|| &#40;$_FILES&#91;"file"&#93;&#91;"type"&#93; == "image/pjpeg"&#41;&#41;
&& &#40;$_FILES&#91;"file"&#93;&#91;"size"&#93; < 20000&#41;&#41;
  &#123;
  if &#40;$_FILES&#91;"file"&#93;&#91;"error"&#93; > 0&#41;
    &#123;
    echo "Return Code&#58; " . $_FILES&#91;"file"&#93;&#91;"error"&#93; . "<br />";
    &#125;
  else
    &#123;
    echo "Upload&#58; " . $_FILES&#91;"file"&#93;&#91;"name"&#93; . "<br />";
    echo "Type&#58; " . $_FILES&#91;"file"&#93;&#91;"type"&#93; . "<br />";
    echo "Size&#58; " . &#40;$_FILES&#91;"file"&#93;&#91;"size"&#93; / 1024&#41; . " Kb<br />";
    echo "Temp file&#58; " . $_FILES&#91;"file"&#93;&#91;"tmp_name"&#93; . "<br />";

    if &#40;file_exists&#40;"upload/" . $_FILES&#91;"file"&#93;&#91;"name"&#93;&#41;&#41;
      &#123;
      echo $_FILES&#91;"file"&#93;&#91;"name"&#93; . " already exists. ";
      &#125;
    else
      &#123;
      move_uploaded_file&#40;$_FILES&#91;"file"&#93;&#91;"tmp_name"&#93;,
      "upload/" . $_FILES&#91;"file"&#93;&#91;"name"&#93;&#41;;
      echo "Stored in&#58; " . "upload/" . $_FILES&#91;"file"&#93;&#91;"name"&#93;;
      &#125;
    &#125;
  &#125;
else
  &#123;
  echo "Invalid file";
  &#125;
?>
 
και την φόρμα

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

<html>
<body>

<form action="upload_file.php" method="post"
enctype="multipart/form-data">
<label for="file">Filename&#58;</label>
<input type="file" name="file" id="file" />
<br />
<input type="submit" name="submit" value="Submit" />
</form>

</body>
</html>
αλλά αντιμετωπίζω πρόβλημα οτι δεν βρίσκει το φάκελο /upload

Άβαταρ μέλους
Basilakis
PHP Moderator
Δημοσιεύσεις: 8574
Εγγραφή: 17 Νοέμ 2003 13:03
Τοποθεσία: Womans' Brain
Επικοινωνία:

file upload πρόβλημα

Δημοσίευση από Basilakis » 02 Ιουν 2009 15:32

Φαντάζομαι έχεις δημιουργήσει τον φάκελο upload έτσι; έχει Access να "γράφεις" μέσα του, chmod 775?

δοκίμασε και το κομάτι

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

upload/
όπου έχεις να το κάνεις

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

/upload/

newbie89
Δημοσιεύσεις: 16
Εγγραφή: 06 Μάιος 2009 22:48

file upload πρόβλημα

Δημοσίευση από newbie89 » 02 Ιουν 2009 15:37

Ευχαριστώ πολύ βρήκα την άκρη.

Και κατι ακόμα τώρα πως μπορώ να κάνω μια εγγραφή στην mysql που να συνδέεται με το αρχείο που ανέβασα έτσι ώστε να το προβάλω πιο μετα?

Αυτή είναι η φόρμα μου..

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

<form action="insert.php" method="post" enctype="multipart/form-data">
Αρχείο εικόνας&#58; <input type="file" name="file" id="file" /> 
Όνομα&#58; <input type="text" name="onomaeikonas" />
Καλλιτέχνης&#58; <input type="text" name="kalitexnis" />
Θέμα&#58; <input type="text" name="thema" />
Περιγραφή&#58; <input type="text" name="perigrafi" />
Σχετικό URL&#58; <input type="text" name="sindesmos" />
<input type="submit" name="Υποβολή" value="Submit" />
</form>
και αυτή η php

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

<?php
$con = mysql_connect&#40;"localhost","root","mysql"&#41;;
if &#40;!$con&#41;
  &#123;
  die&#40;'Could not connect&#58; ' . mysql_error&#40;&#41;&#41;;
  &#125;

mysql_select_db&#40;"my_db", $con&#41;;



if &#40;&#40;&#40;$_FILES&#91;"file"&#93;&#91;"type"&#93; == "image/gif"&#41;
|| &#40;$_FILES&#91;"file"&#93;&#91;"type"&#93; == "image/jpeg"&#41;
|| &#40;$_FILES&#91;"file"&#93;&#91;"type"&#93; == "image/pjpeg"&#41;&#41;
&& &#40;$_FILES&#91;"file"&#93;&#91;"size"&#93; < 2000000000000000&#41;&#41;
  &#123;
  if &#40;$_FILES&#91;"file"&#93;&#91;"error"&#93; > 0&#41;
    &#123;
    echo "Return Code&#58; " . $_FILES&#91;"file"&#93;&#91;"error"&#93; . "<br />";
    &#125;
  else
    &#123;
    echo "Upload&#58; " . $_FILES&#91;"file"&#93;&#91;"name"&#93; . "<br />";
    echo "Type&#58; " . $_FILES&#91;"file"&#93;&#91;"type"&#93; . "<br />";
    echo "Size&#58; " . &#40;$_FILES&#91;"file"&#93;&#91;"size"&#93; / 1024&#41; . " Kb<br />";
    echo "Temp file&#58; " . $_FILES&#91;"file"&#93;&#91;"tmp_name"&#93; . "<br />";

    if &#40;file_exists&#40;"upload/" . $_FILES&#91;"file"&#93;&#91;"name"&#93;&#41;&#41;
      &#123;
      echo $_FILES&#91;"file"&#93;&#91;"name"&#93; . " already exists. ";
      &#125;
    else
      &#123;
      move_uploaded_file&#40;$_FILES&#91;"file"&#93;&#91;"tmp_name"&#93;,
      "upload/" . $_FILES&#91;"file"&#93;&#91;"name"&#93;&#41;;
      echo "Stored in&#58; " . "upload/" . $_FILES&#91;"file"&#93;&#91;"name"&#93;;
      &#125;
    &#125;
  &#125;
else
  &#123;
  echo "Invalid file";
  &#125;
  
  
$sql="INSERT INTO Images &#40;Namez, Artist, Theme, Descr, Url, Tags&#41;
VALUES
&#40;'$_POST&#91;onomaeikonas&#93;','$_POST&#91;kalitexnis&#93;','$_POST&#91;thema&#93;','$_POST&#91;perigrafi&#93;','$_POST&#91;sindesmos&#93;','$_POST&#91;file&#93;'&#41;";




if &#40;!mysql_query&#40;$sql,$con&#41;&#41;
  &#123;
  die&#40;'Error&#58; ' . mysql_error&#40;&#41;&#41;;
  &#125;
echo "<br /> 1 record added";

mysql_close&#40;$con&#41;
?>  

Άβαταρ μέλους
Basilakis
PHP Moderator
Δημοσιεύσεις: 8574
Εγγραφή: 17 Νοέμ 2003 13:03
Τοποθεσία: Womans' Brain
Επικοινωνία:

file upload πρόβλημα

Δημοσίευση από Basilakis » 02 Ιουν 2009 19:40

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

$sql="INSERT INTO Images &#40;Namez, Artist, Theme, Descr, Url, Tags&#41;
VALUES
&#40;'$_POST&#91;onomaeikonas&#93;','$_POST&#91;kalitexnis&#93;','$_POST&#91;thema&#93;','$_POST&#91;perigrafi&#93;','$_POST&#91;sindesmos&#93;','$_POST&#91;file&#93;'&#41;";
Εδώ κάνεις την εγγραφή στην mySQL. Οπότε αυτό που χρειάζεσαι μετά είναι να εμφανίζεις το αρχείο με ένα Select query

newbie89
Δημοσιεύσεις: 16
Εγγραφή: 06 Μάιος 2009 22:48

file upload πρόβλημα

Δημοσίευση από newbie89 » 02 Ιουν 2009 19:44

yparxei πρόβλημα

εκει που κάνω $_POST[file] δεν αναγνωρίζει το "file" ως το path toυ αρχείου. Εγώ θέλω να αποθεκέυω στην βαση δεδομένων το Path του uploaded file

Άβαταρ μέλους
Cha0s
SysAdmin
Δημοσιεύσεις: 10248
Εγγραφή: 28 Ιούλ 2001 03:00

file upload πρόβλημα

Δημοσίευση από Cha0s » 02 Ιουν 2009 21:09

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

$_FILES&#91;'file'&#93;&#91;'name'&#93;
Με αυτή τη μεταβλητή θα περάσεις το όνομα του αρχείου στην βάση.

Το path είτε το τυπώνεις μετά όταν θα δείχνεις τα αρχεία (αν είναι για όλα το ίδιο) είτε το γράφεις καρφωτά πριν το όνομα του αρχείου, μέσα στο insert query.

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

'/path/to/folder/".$_FILES&#91;'file'&#93;&#91;'name'&#93;."'

newbie89
Δημοσιεύσεις: 16
Εγγραφή: 06 Μάιος 2009 22:48

file upload πρόβλημα

Δημοσίευση από newbie89 » 02 Ιουν 2009 21:39

δοκίμασα έτσι και δεν δούλεψε πάλι...

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

$sql="INSERT INTO Images &#40;Namez, Artist, Theme, Descr, Url, Tags&#41;
VALUES
&#40;'$_POST&#91;onomaeikonas&#93;','$_POST&#91;kalitexnis&#93;','$_POST&#91;thema&#93;','$_POST&#91;perigrafi&#93;','$_POST&#91;sindesmos&#93;','$_POST&#91;$_FILES&#91;'file'&#93;&#91;'name'&#93;&#93;'&#41;";
και μου βγάζει το εξής :

Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in C:\Program Files\EasyPHP 3.0\www\insert.php on line 57

έχω δοκιμάσει διάφορους τρόπους να γράψω τη μεταβλητή $_FILES['file']['name'] μέσα στο $_POST[] αλλά δεν παίζει σωστά .
Τελευταία επεξεργασία από το μέλος newbie89 την 02 Ιουν 2009 22:14, έχει επεξεργασθεί 1 φορά συνολικά.

Άβαταρ μέλους
Alice_Cooper
Δημοσιεύσεις: 1948
Εγγραφή: 11 Μάιος 2007 00:33
Τοποθεσία: Ioannina
Επικοινωνία:

file upload πρόβλημα

Δημοσίευση από Alice_Cooper » 02 Ιουν 2009 22:12

dokimases ...

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

$onoma=$_FILES&#91;'file'&#93;&#91;'name'&#93;;
$sql="INSERT INTO Images &#40;Namez, Artist, Theme, Descr, Url, Tags&#41; VALUES &#40;'$_POST&#91;onomaeikonas&#93;','$_POST&#91;kalitexnis&#93;','$_POST&#91;thema&#93;','$_POST&#91;perigrafi&#93;','$onoma'&#41;";
h kati tetoio??

episeis mia

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

echo $onoma;

Άβαταρ μέλους
Cha0s
SysAdmin
Δημοσιεύσεις: 10248
Εγγραφή: 28 Ιούλ 2001 03:00

file upload πρόβλημα

Δημοσίευση από Cha0s » 03 Ιουν 2009 10:29

newbie89 έγραψε:δοκίμασα έτσι και δεν δούλεψε πάλι...

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

$sql="INSERT INTO Images &#40;Namez, Artist, Theme, Descr, Url, Tags&#41;
VALUES
&#40;'$_POST&#91;onomaeikonas&#93;','$_POST&#91;kalitexnis&#93;','$_POST&#91;thema&#93;','$_POST&#91;perigrafi&#93;','$_POST&#91;sindesmos&#93;','$_POST&#91;$_FILES&#91;'file'&#93;&#91;'name'&#93;&#93;'&#41;";
και μου βγάζει το εξής :

Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in C:\Program Files\EasyPHP 3.0\www\insert.php on line 57

έχω δοκιμάσει διάφορους τρόπους να γράψω τη μεταβλητή $_FILES['file']['name'] μέσα στο $_POST[] αλλά δεν παίζει σωστά .
Άλλο το $_POST άλλο το $_FILES.

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

$sql="INSERT INTO Images &#40;Namez, Artist, Theme, Descr, Url, Tags&#41;
VALUES
&#40;'$_POST&#91;onomaeikonas&#93;','$_POST&#91;kalitexnis&#93;','$_POST&#91;thema&#93;','$_POST&#91;perigrafi&#93;','$_POST&#91;sindesmos&#93;','$_FILES&#91;file&#93;&#91;name&#93;'&#41;";

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

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

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