πρόβλημα με upload script

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

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

Απάντηση
tzitzikas
Δημοσιεύσεις: 73
Εγγραφή: 30 Νοέμ 2005 13:03

πρόβλημα με upload script

Δημοσίευση από tzitzikas » 05 Ιαν 2010 11:17

δοκίμασα αφου διάβασα απο το http://www.w3schools.com/PHP/php_file_upload.asp να φτιάξω το δικό μου script. χρησιμοποιώ server http://www.000webhost.com/ που υποστηρίξει php.
έφτιαξα ένα αρχείο upload.htm που περιέχει τον κώδικα

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head>
<meta content="text/html; charset=unicode" http-equiv="Content-Type">
<meta name="GENERATOR" content="MSHTML 8.00.6001.18854"></head>
<body>
<form enctype="multipart/form-data" method="post" action="upload_file.php"><label
for=file>Filename:</label> <input id="file" type="file" name="file"> <br><input value="Submit" type="submit" name="submit"> </form></body></html>


και το αρχείο upload_file.php που περιέχει τον κώδικα

!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head>
<meta content="text/html; charset=unicode" http-equiv="Content-Type">
<meta name="GENERATOR" content="MSHTML 8.00.6001.18854"></head>
<body><?php
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
|| ($_FILES["file"]["type"] == "image/JPG"))
&& ($_FILES["file"]["size"] < 2000000))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
echo "Temp file: " . $_FILES["file"]["upload"] . "<br />";

if (file_exists("upload/" . $_FILES["file"]["upload"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["file"]["upload"],
"upload/" . $_FILES["file"]["upload"]);
echo "Stored in: " . "upload/" . $_FILES["file"]["upload"];
}
}
}
else
{
echo "Invalid file";
}
?>
</body></html>

όταν πάω να κάνω upload ένα αρχείο JPG (ένα απο τα επιτρεπτά δηλαδή) μου βγάζει
σφάλμα
PHP Error Message

Parse error: syntax error, unexpected T_BOOLEAN_AND in /home/a5903282/public_html/upload_file.php on line 10

να σημειώσω εδώ οτι έχω κάνει φάκελο στο public html: upload/upload

τι πρόβλημα υπάρχει?

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

πρόβλημα με upload script

Δημοσίευση από fafos » 05 Ιαν 2010 15:56

proton sou periseuei mia parenthesh sta if.. to sosto:

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

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;
|| &#40;$_FILES&#91;"file"&#93;&#91;"type"&#93; == "image/JPG"&#41;&#41;
&& &#40;$_FILES&#91;"file"&#93;&#91;"size"&#93; < 2000000&#41;&#41;

2on, opos prospatheis na kaneis thn epalhtheush gia to an yparxei to arxeio hdh tha sto dinei panta oti yparxei kai den tha proxoraei sto anevasma tou arxeiou:

exeis:

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

if &#40;file_exists&#40;"upload/" . $_FILES&#91;"file"&#93;&#91;"upload"&#93;&#41;&#41; 
to opoio koitaei sta prosorina an yparxei kai fysika panta yparxei.. opote prepei na to allakseis se:

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

if &#40;file_exists&#40;"upload/" . $_FILES&#91;"file"&#93;&#91;"name"&#93;&#41;&#41; 

3on, prospatheis na anevaseis ena "nohto" arxeio to opoio den yparxei pouthena:

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

move_uploaded_file&#40;$_FILES&#91;"file"&#93;&#91;"upload"&#93;,
"upload/" . $_FILES&#91;"file"&#93;&#91;"upload"&#93;&#41;; 
gia to anevasma tha xrhsimopoieis to tmp_name kai oxi to upload. Epishs to arxeio tha apothikeuetai me to name kai oxi to upload to opoio xanetai molis ginei to anevasma:

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

move_uploaded_file&#40;$_FILES&#91;"file"&#93;&#91;"tmp_name"&#93;,
"upload/" . $_FILES&#91;"file"&#93;&#91;"name"&#93;&#41;;
auta ta oliga...
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

tzitzikas
Δημοσιεύσεις: 73
Εγγραφή: 30 Νοέμ 2005 13:03

πρόβλημα με upload script

Δημοσίευση από tzitzikas » 06 Ιαν 2010 12:18

ευχαριστω, με τις αλλαγές τα κατάφερα. δεν καταφερα ομως να βαλω και για txt αρχεια. εγραψα
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg")
|| ($_FILES["file"]["type"] == "text/txt")
|| ($_FILES["file"]["type"] == "image/JPG"))
&& ($_FILES["file"]["size"] < 2000000))

που ειναι το λαθος? μου βγάζει invalid file

επίσης δεν καταλαβένω το τμήμα αυτό του κώδικα
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br />";


ο νέος κώδικας είναι αυτός:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head>
<meta content="text/html; charset=unicode" http-equiv="Content-Type">
<meta name="GENERATOR" content="MSHTML 8.00.6001.18854"></head>
<body><?php
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg")
|| ($_FILES["file"]["type"] == "image/JPG"))
&& ($_FILES["file"]["size"] < 2000000))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
echo "Temp file: " . $_FILES["file"]["temp"] . "<br />";

if (file_exists("upload/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"upload/" . $_FILES["file"]["name"]);
echo "Stored in: " . "upload/" . $_FILES["file"]["upload"];
}
}
}
else
{
echo "Invalid file";
}
?>
</body></html>

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

πρόβλημα με upload script

Δημοσίευση από fafos » 06 Ιαν 2010 15:52

($_FILES["file"]["type"] == "text/plain")

to error to dinei otan den anevei to arxeio h otan to anevasei miso, katestrammeno klp...
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

tzitzikas
Δημοσιεύσεις: 73
Εγγραφή: 30 Νοέμ 2005 13:03

πρόβλημα με upload script

Δημοσίευση από tzitzikas » 07 Ιαν 2010 14:48

το plain για ποιούς τύπους αρχείων μπαίνει? για jpg έβαζα jpg και δουλευε οκ. αν θέλω να δέχεται exe, mp3 και γενικά και άλλο9υς τύπους αρχείων τι βαζω πριν και μετά την κάθετο?υπάρχει κανα πινακάκι που να τα έχει όλα? ευχαριστώ

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

πρόβλημα με upload script

Δημοσίευση από dva_dev » 07 Ιαν 2010 14:56

Κάποιες συμαζεμένες λίστες που βοηθάνε
http://www.utoronto.ca/webdocs/HTMLdocs ... etype.html
http://www.w3schools.com/media/media_mimeref.asp

tzitzikas
Δημοσιεύσεις: 73
Εγγραφή: 30 Νοέμ 2005 13:03

πρόβλημα με upload script

Δημοσίευση από tzitzikas » 07 Ιαν 2010 15:41

ευχαριστω πολυ

Lefteris33
Δημοσιεύσεις: 93
Εγγραφή: 18 Μαρ 2010 15:10
Τοποθεσία: Δαφνη
Επικοινωνία:

πρόβλημα με upload script

Δημοσίευση από Lefteris33 » 15 Μάιος 2010 22:58

Καλησπέρα παιδιά, προσπαθώ να φτιάξω και εγώ το ίδιο script, για να ανεβάσω κάποιες φωτο στο Hosting που φιλοξενεί το site μου. Ακολουθώ τις αλλαγές που είδα παραπάνω, αλλα παίρνω συνέχεια το ( invalid file).
Αυτό που δέν έχω καταλάβει είναι το πού ορίζω την διαδρομή στην οποία θέλω να στείλω το αρχείο.
Επίσεις δεν εχω καταλάβει τον ρόλο του (tmp) και δεν ξέρω αν πρέπει να κάνω κάποια ιδιαίτερη ρύθμιση στο php.ini .

το script μου είναι αυτό:
*********************************************************************
<?php
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg")
|| ($_FILES["file"]["type"] == "image/JPG"))
&& ($_FILES["file"]["size"] < 2000000))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
echo "Temp file: " . $_FILES["file"]["temp"] . "<br />";

if (file_exists("http://www.estiassis.gr/photos/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"http://www.mysite.gr/photos/" . $_FILES["file"]["name"]);
echo "Stored in: " . "upload/" . $_FILES["file"]["upload"];
}
}
}
else
{
echo "Invalid file";
}
?>
Lefteris Toumanidis websitepro

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

πρόβλημα με upload script

Δημοσίευση από fafos » 15 Μάιος 2010 23:26

gia deikse mas kai thn forma pou anevazei thn photo.. (vaze ton kodika sta [ code ]kodikas [ /code ]...)

Lefteris33
Δημοσιεύσεις: 93
Εγγραφή: 18 Μαρ 2010 15:10
Τοποθεσία: Δαφνη
Επικοινωνία:

πρόβλημα με upload script

Δημοσίευση από Lefteris33 » 15 Μάιος 2010 23:35

<html>
<head>
<title>A simple file upload form</title>
</head>
<body>
<form action="do_upload.php" enctype="multipart/form-data" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="100000"/>
<p><strong>File to Upload:</strong> <input type="file" name="fileupload"/></p>
<p><input type="submit" value="upload!"></p>
</form>
</body>
</html>

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

πρόβλημα με upload script

Δημοσίευση από fafos » 15 Μάιος 2010 23:41

opos to fantasthka.. to name sto field einai name="fileupload" alla to script psaxnei gia to "file".. allakse to se name="file"..

epishs h forma den anevazei png arxeia.. an thes na anevazei kai png vale ena

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

|| &#40;$_FILES&#91;"file"&#93;&#91;"type"&#93; == "image/png"&#41;
stis synthikes

Lefteris33
Δημοσιεύσεις: 93
Εγγραφή: 18 Μαρ 2010 15:10
Τοποθεσία: Δαφνη
Επικοινωνία:

πρόβλημα με upload script

Δημοσίευση από Lefteris33 » 16 Μάιος 2010 00:31

η φορμα:

<html>
<head>
<title>A simple file upload form</title>
</head>
<body>
<form action="upload_image.php" enctype="multipart/form-data" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="100000"/>
<p><strong>File to Upload:</strong> <input type="file" name="file"/></p>
<p><input type="submit" value="upload!"></p>
</form>
</body>
</html>

*****************************************************

το upload_image.php:

<?php
if ((($_FILES["file"]["type"] == "image/gif")
||($_FILES["file"]["type"] == "image/png")
||($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg")
|| ($_FILES["file"]["type"] == "image/JPG"))
&& ($_FILES["file"]["size"] < 2000000))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
echo "Temp file: " . $_FILES["file"]["temp"] . "<br />";

if (file_exists("http://www.estiassis.gr/photos/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"http://www.estiassis.gr/photos/" . $_FILES["file"]["name"]);
echo "Stored in: " . "upload/" . $_FILES["file"]["upload"];
}
}
}
else
{
echo "Invalid file";
}
?>

Παίρνω πάλι το ίδιο μήνυμα.

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

πρόβλημα με upload script

Δημοσίευση από fafos » 16 Μάιος 2010 00:37

to $_FILES["file"]["type"] exo parathrhsei oti apotynxanei merikes fores na anagnorisei to arxeio kai den to epalhtheuei (mou to ekane kai emena se kapoia arxeia).. dokimase me diafora arxeia eikonon... epishs psakse na vreis mia class pou exo dosei se kapoio post gia upload eikonon.. einai pio eukolo kai sigouro..

Lefteris33
Δημοσιεύσεις: 93
Εγγραφή: 18 Μαρ 2010 15:10
Τοποθεσία: Δαφνη
Επικοινωνία:

πρόβλημα με upload script

Δημοσίευση από Lefteris33 » 16 Μάιος 2010 00:48

Είχες δίκιο.Δοκίμασα άλλο αρχείο και το ανέβασε.Που θα βρώ την class;
Σε ευχαριστώ πολύ.

Lefteris33
Δημοσιεύσεις: 93
Εγγραφή: 18 Μαρ 2010 15:10
Τοποθεσία: Δαφνη
Επικοινωνία:

πρόβλημα με upload script

Δημοσίευση από Lefteris33 » 16 Μάιος 2010 00:55

Βιάστηκα.Μου δείχνει οτι ανέβασε το αρχείο όμως δεν υπάρχει στην τοποθεσία που το στέλνω.

Το μήνυμα που παίρνω είναι:

Upload: logotipo.jpg
Type: image/pjpeg
Size: 52.6455078125 Kb
Temp file:
Stored in: upload/
Lefteris Toumanidis websitepro

Απάντηση

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

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

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