Δεν γινεται upload στον Server

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

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

Απάντηση
Άβαταρ μέλους
iffor
Δημοσιεύσεις: 778
Εγγραφή: 14 Μάιος 2005 01:19
Τοποθεσία: Παράδεισος
Επικοινωνία:

Δεν γινεται upload στον Server

Δημοσίευση από iffor » 06 Ιούλ 2005 15:00

Hello στην κοινότητα!
Καταρχάς να πω ότι δεν είμαι σίγουρος αν το συγκεκριμένο topic πρέπει να είναι σε αυτήν την κατηγορία, απλός το έβαλα εδω μιας και εμπλέκεται σίγουρα και το αρχείο php.ini
Λοιπόν, τα πράγματα έχουν ως εξής.
Στον host που έχω ανεβασμένες τις σελίδες μου, μετά από ένα phpinfo() μου δίνει ως αποτέλεσμα στις εξής μεταβλητές
open_basedir με Local Value "apache/users/fakelos tou site mou"
και Master Value "no value"

upload_tmp_dir με Local Value "apache/users/fakelos tou site mou"
και Master Value "/tmp"

Μέσα σε κάποια σελίδα μου έχω το εξής script-ακι για να ανεβάζω τις εικόνες μου:

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

<?php
   require_once&#40;"conn.php"&#41;;
   $conn=db_conn&#40;&#41;;
   if &#40;!$conn&#41; &#123; echo "Could not connect to database server - please try later. "; exit; &#125;
   if&#40; $_POST&#91;'upload'&#93;==1&#41; &#123;
	       $pic=$HTTP_POST_FILES &#91;'pic'&#93; &#91;'tmp_name'&#93;;
           $pic_name=$HTTP_POST_FILES &#91;'pic'&#93; &#91;'name'&#93;;
           $pic_size=$HTTP_POST_FILES &#91;'pic'&#93; &#91;'size'&#93;;
           $pic_type=$HTTP_POST_FILES &#91;'pic'&#93; &#91;'type'&#93;;
		   
		   if &#40;!$pic&#41; &#123; 
		                   	echo "<script language='javascript' type='text/javascript'>"; 
	                        echo "alert&#40;'Παρακαλώ συμπληρώστε όλα τα πεδία'&#41;;";
	                        echo "window.open&#40;'upload.php', '_self'&#41;;";
	                        echo "</script>";
							exit;
		   &#125;
		   
			if &#40;$pic&#41;  &#123;
			
			     $upfile = "./fakelos/".$pic_name;
			
                if &#40;$pic=="none"&#41;&#123;
	                       echo "<script language='javascript' type='text/javascript'>"; 
	                       echo "alert&#40;'Πρόβλημα, δεν μεταφέρθηκε το αρχείο-εικόνα'&#41;;";
	                       echo "window.open&#40;'upload.php', '_self'&#41;;";
	                       echo "</script>";
                           exit;
                &#125;
                if &#40;$pic_size==0&#41;&#123;
	                       echo "<script language='javascript' type='text/javascript'>"; 
	                       echo "alert&#40;'Πρόβλημα, το αρχείο-εικόνα που μεταφέρθηκε είναι μηδενικού μεγέθους'&#41;;";
	                       echo "window.open&#40;'upload.php', '_self'&#41;;";
	                       echo "</script>";
                           exit;
	            &#125;
                if &#40;$pic_type!= "image/pjpeg" &#41;&#123;
				           //ΠΡΟΣΟΧΗ του εχω βαλει να ανεβαζει μονο εικονες με καταληξη pjpeg ή αλλιως jpeg
	                       echo "<script language='javascript' type='text/javascript'>"; 
	                       echo "alert&#40;'Πρόβλημα, το αρχείο-εικόνα που θέλετε να μεταφέρετε πρέπει να είναι της μορφής .jpeg'&#41;;";
	                       echo "window.open&#40;'upload.php', '_self'&#41;;";
	                       echo "</script>";
                           exit;
		        &#125;
                if &#40;!is_uploaded_file&#40;$pic&#41;&#41;&#123;
	                       echo "<script language='javascript' type='text/javascript'>"; 
	                       echo "alert&#40;'Πρόβλημα, για κάποιο άγνωστο λόγο η μεταφορά του αρχείου απέτυχε'&#41;;";
	                       echo "window.open&#40;'upload.php', '_self'&#41;;";
	                       echo "</script>";
                           exit;
                &#125;  
                if &#40; !copy&#40;$pic, $upfile&#41;&#41; &#123;
	                      echo "<script language='javascript' type='text/javascript'>"; 
	                      echo "alert&#40;'Πρόβλημα, δεν μπορεί να γίνει η μεταφορά του αρχείου-εικόνα στον προκαθορισμένο φάκελο'&#41;;";
	                      echo "window.open&#40;'upload.php', '_self'&#41;;";
	                      echo "</script>";
                          exit;
                &#125;
			&#125;
			
		 
		  
		  echo "<script language='javascript' type='text/javascript'>"; 
	      echo "alert&#40;'Η καταχώρηση πραγματοποιήθηκε'&#41;;";
	      echo "</script>";
   &#125;
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http&#58;//www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1253">
</head>

<body>
<form name="form1" method="post" action="upload.php" enctype="multipart/form-data">
  <table width="0%"  border="0">
    <tr>
      <td><input type="file" name="pic"></td>
      <td><input type="submit"><input type="hidden" name="upload" value="1"></td>
    </tr>
  </table>
</form>
</body>
</html>
Λοιπόν, με το που τρέχω το script-ακι μου εμφανίζει το εξής warning
Warning: copy(): open_basedir restriction in effect: File(/tmp/phpGhrTkd) is not within the allowed path(s): (apache/users/fakelos tou site mou) in "το path της σελίδας με το script-ακι" on line 68 στην οποία σειρά είναι η εντολή !copy($pic, $upfile).

Ξέρει κανείς τι μπορεί να φταίει...???
Και Χίλια Συγνώμη για το μακροσκελές topic
:wink:
μια νέα αρχή ξεκίνησε...
ένας καινούριος δρόμος άνοιξε...
redpanda.gr

Άβαταρ μέλους
billt
Δημοσιεύσεις: 1175
Εγγραφή: 20 Φεβ 2004 16:17
Τοποθεσία: Θεσσαλονίκη

Δεν γινεται upload στον Server

Δημοσίευση από billt » 06 Ιούλ 2005 15:28

-Κάνε το /tmp --> /tmp/

αν δεν πιάνει αυτό
Δοκίμασε να γράψεις το /tmp με full path δηλαδή κάτι σαν /user/fakelos ktl
με και χωρίς end slash (... και βέβαια έλεγξε και τα permissions :wink: )

Άβαταρ μέλους
Rapid-eraser
WebDev Moderator
Δημοσιεύσεις: 6851
Εγγραφή: 05 Απρ 2003 17:50
Τοποθεσία: Πειραιάς
Επικοινωνία:

Δεν γινεται upload στον Server

Δημοσίευση από Rapid-eraser » 08 Ιούλ 2005 01:46

(molia figouve oi afroi pou ebgala apo ta polla echo kai ir8emiso 8a apavtiso kai egw !!!)
Cu, Rapid-eraser, Tα αγαθά copies κτώνται.
Love is like oxygen, You get too much you get too high
Not enough and you're gonna die, Love gets you high

Άβαταρ μέλους
mrpc
WebDev Moderator
Δημοσιεύσεις: 3393
Εγγραφή: 03 Μάιος 2000 03:00
Τοποθεσία: Εξάρχεια
Επικοινωνία:

Δεν γινεται upload στον Server

Δημοσίευση από mrpc » 08 Ιούλ 2005 01:52

Rapid-eraser έγραψε:(molia figouve oi afroi pou ebgala apo ta polla echo kai ir8emiso 8a apavtiso kai egw !!!)
χαχαχαχαχα! έλεγα θα το πει, δε θα το πει...
πάντως πρέπει να δεις κώδικα που έγραφα πριν μερικούς μήνες... θα κάνεις κανένα μήνα να μου μιλήσεις :p

Άβαταρ μέλους
iffor
Δημοσιεύσεις: 778
Εγγραφή: 14 Μάιος 2005 01:19
Τοποθεσία: Παράδεισος
Επικοινωνία:

Δεν γινεται upload στον Server

Δημοσίευση από iffor » 08 Ιούλ 2005 22:28

:D :D :D
Χε χε!!! Δυστυχώς έχω μεγάλο κόλλημα με τα echo...!!!
Έχω κολλήσει στο ρητό που λέει ότι τις περισσότερες φορές η καλή λύση είναι και η ποιό απλή λύση... και το echo, τουλάχιστον για μένα, καθαρίζει την σκέψη μου...!!!
Billt, δυστυχώς δεν μπορώ να καθορίσω εγώ τα value του server....
Στους παλιότερους sever (προς Αμερική μεριά) δεν είχα πρόβλημα με το script-ακι, τώρα όμως που μετακινούμαστε σε ελληνικούς server μεγάλης εταιρίας, έχουμε αρκετά προβλήματα με τις ρυθμήσεις τους όλο το team και ψαχνόμαστε μεταξύ μας...
μια νέα αρχή ξεκίνησε...
ένας καινούριος δρόμος άνοιξε...
redpanda.gr

Άβαταρ μέλους
mrpc
WebDev Moderator
Δημοσιεύσεις: 3393
Εγγραφή: 03 Μάιος 2000 03:00
Τοποθεσία: Εξάρχεια
Επικοινωνία:

Δεν γινεται upload στον Server

Δημοσίευση από mrpc » 10 Ιούλ 2005 02:17

Δεν χρειάζεται να καθορίσεις κάποιο value του server. Permitions άλλαξε στα αρχεία σου και χρησιμοποίησε πλήρες path.

Άβαταρ μέλους
iffor
Δημοσιεύσεις: 778
Εγγραφή: 14 Μάιος 2005 01:19
Τοποθεσία: Παράδεισος
Επικοινωνία:

Δεν γινεται upload στον Server

Δημοσίευση από iffor » 10 Ιούλ 2005 17:08

mrpc έγραψε:Δεν χρειάζεται να καθορίσεις κάποιο value του server. Permitions άλλαξε στα αρχεία σου και χρησιμοποίησε πλήρες path.
Δεν νομίζω να βρίσκεται εκεί το πρόβλημα, ωστόσο φυσικά και θα το κοιτάξω...!!!
Άν δεις καλά στο warning που μου επιστρέφει, θα δεις ότι το αρχείο που γίνεται upload, ο server προσπαθεί να το ανεβάσει προσορινά στον φάκελο /temp στον οποίο φυσικά και δεν έχω access, πριν το αντιγράψει σε φάκελο στον οποίο έχω access. Και επιδή δεν έχω access στον /temp σταματάει και η όλη διαδικασία...
Και από ότι ξέρω για να αλλάξω το path του φακέλου για τις προσορινές μετακινήσεις, αυτό γίνεται μόνο μεσα από το αρχείο php.ini... Δεν μπορώ, απ' ότι νομίζω, να καθορίσω εγώ μέσω script πού να ανεβάζει προσορινά τα αρχεία πριν γίνει η περεταίρω μετακίνησή τους...
μια νέα αρχή ξεκίνησε...
ένας καινούριος δρόμος άνοιξε...
redpanda.gr

Άβαταρ μέλους
Rapid-eraser
WebDev Moderator
Δημοσιεύσεις: 6851
Εγγραφή: 05 Απρ 2003 17:50
Τοποθεσία: Πειραιάς
Επικοινωνία:

Δεν γινεται upload στον Server

Δημοσίευση από Rapid-eraser » 10 Ιούλ 2005 17:28

priv katso kai kavo otidipote

grafeis kodika gia php 4.1.0 kai paliotero ?

Aseme va kavo kai eva sxolio gia tov ipolipo kodika
afta ta respond pou kaveis me tnv javascript
eivai apo tragika eos poli disxrista. kalitera va apo8ikebes ta mivimata se kapoia metabliti kai va ta edixves mesa sto html. dev exouve oloi evergopiimevn tnv javascript

episis aftn n me8odos pou exeis kavei meta emfoliasmeva if kai ta exit paei pio poli se function based elegxous pou kaveis return sto programa.

To exit to xrisimopioume gia va stamatisei to script akariea kai oxi gia va teliosei. Eivai kalitero practice va telioveis to script sou me logiki morfi
kai va miv to stamatas apotoma.

pes mou mia av ovtos grafeis gia prior to 4.1 php gia va kserw ti va dior8oso kai fisika av exeis admin/user access gia allages
stov server pou trexei gia va kaveis kapies pros8ikes
Cu, Rapid-eraser, Tα αγαθά copies κτώνται.
Love is like oxygen, You get too much you get too high
Not enough and you're gonna die, Love gets you high

Άβαταρ μέλους
iffor
Δημοσιεύσεις: 778
Εγγραφή: 14 Μάιος 2005 01:19
Τοποθεσία: Παράδεισος
Επικοινωνία:

Δεν γινεται upload στον Server

Δημοσίευση από iffor » 10 Ιούλ 2005 18:01

Rapid-eraser έγραψε:priv katso kai kavo otidipote

grafeis kodika gia php 4.1.0 kai paliotero ?

Aseme va kavo kai eva sxolio gia tov ipolipo kodika
afta ta respond pou kaveis me tnv javascript
eivai apo tragika eos poli disxrista. kalitera va apo8ikebes ta mivimata se kapoia metabliti kai va ta edixves mesa sto html. dev exouve oloi evergopiimevn tnv javascript

episis aftn n me8odos pou exeis kavei meta emfoliasmeva if kai ta exit paei pio poli se function based elegxous pou kaveis return sto programa.

To exit to xrisimopioume gia va stamatisei to script akariea kai oxi gia va teliosei. Eivai kalitero practice va telioveis to script sou me logiki morfi
kai va miv to stamatas apotoma.

pes mou mia av ovtos grafeis gia prior to 4.1 php gia va kserw ti va dior8oso kai fisika av exeis admin/user access gia allages
stov server pou trexei gia va kaveis kapies pros8ikes
Δεν έχεις καθόλου άδικο για την κακός χρησιμοποίηση της javascript από μέρους μου...Ούτε πρακτική ούτε εμφανισιακά καλή είναι αυτή η μέθοδος...Για αυτό και τελευταία χρησιμοποιώ σαν response κάποια σελίδα php.
Όσο για την χρήση της exit δεν μπορώ να πω ότι συνφωνώ!Όσο και αν σου φαίνεται περίεργο αυτό ακριβώς θέλω να κάνω, να τερματίσω το script...!!!Και η λέξη απότομα ή ακαριαία δεν μπορώ να πώ ότι ταιριάζει εδώ...Η exit τερματίζει το script, αυτό κάνει!!!
Απλότητα, αυτό θέλω και τίποτα παραπάνω...!!! Δεν επιρεάζει αρνητικά το όλο script, απλός κάνει ακριβώς αυτό που θέλω...!!!
Χρησιμοποιώ την PhP 4.3.11 όπως σωστά υπόθεσες...!!! Και έχω την MySQL 4.0.20 και Apache 2.0.
μια νέα αρχή ξεκίνησε...
ένας καινούριος δρόμος άνοιξε...
redpanda.gr

Άβαταρ μέλους
Rapid-eraser
WebDev Moderator
Δημοσιεύσεις: 6851
Εγγραφή: 05 Απρ 2003 17:50
Τοποθεσία: Πειραιάς
Επικοινωνία:

Δεν γινεται upload στον Server

Δημοσίευση από Rapid-eraser » 10 Ιούλ 2005 18:06

jet . opote to $HTTP_POST_FILES mporei va avikatasta8ei me to $_FILES

kai tnv move_uploaded_files kai oxi copy

(ta parapavo dev apotelouv leitourgiko problima apla eivai 8ema va xrisimopioume ta protivomeva pragmata)

osov afora tnv exit oso 8a arxizeis va grafeis pio periploka script pou exouve elegxous epi elegxov
kai exouve pio sobara design pou dev epistrefouv mia kevi selida me eva
mivima : Could not connect to database server - please try later.

tote 8a deis oti eixa apolito dikio gia to exit.

Gia va katalabeis ti evoo me to exit skepsou to exit sav eva tropo va mporei va epikivovisei to script me tov ekso kosmo osov afora to pios kalei ti .
px o sostos tropos tnv ora pou kaleis tnv exit eivai va doseis eva error level px exit(0); afto simevei pos to script sou teliose xoris la8os px 8a mporouse otidipote allo.

Ok molis exo xrovo 8a koitakso alla to pio pi8avo eivai me ta path kapou va exeis eva problimataki
afto to openbase dir dimiourgei arketa problimatakia
ama dev to labeis ipopsiv sou.
Cu, Rapid-eraser, Tα αγαθά copies κτώνται.
Love is like oxygen, You get too much you get too high
Not enough and you're gonna die, Love gets you high

Άβαταρ μέλους
iffor
Δημοσιεύσεις: 778
Εγγραφή: 14 Μάιος 2005 01:19
Τοποθεσία: Παράδεισος
Επικοινωνία:

Δεν γινεται upload στον Server

Δημοσίευση από iffor » 10 Ιούλ 2005 18:24

Rapid-eraser έγραψε:jet . opote to $HTTP_POST_FILES mporei va avikatasta8ei me to $_FILES

kai tnv move_uploaded_files kai oxi copy

(ta parapavo dev apotelouv leitourgiko problima apla eivai 8ema va xrisimopioume ta protivomeva pragmata)

osov afora tnv exit oso 8a arxizeis va grafeis pio periploka script pou exouve elegxous epi elegxov
kai exouve pio sobara design pou dev epistrefouv mia kevi selida me eva
mivima : Could not connect to database server - please try later.

tote 8a deis oti eixa apolito dikio gia to exit.

Gia va katalabeis ti evoo me to exit skepsou to exit sav eva tropo va mporei va epikivovisei to script me tov ekso kosmo osov afora to pios kalei ti .
px o sostos tropos tnv ora pou kaleis tnv exit eivai va doseis eva error level px exit(0); afto simevei pos to script sou teliose xoris la8os px 8a mporouse otidipote allo.

Ok molis exo xrovo 8a koitakso alla to pio pi8avo eivai me ta path kapou va exeis eva problimataki
afto to openbase dir dimiourgei arketa problimatakia
ama dev to labeis ipopsiv sou.
:D Είναι θέμα συνήθειας, αν και έχω πιάσει τον εαυτό μου να χρησιμοποιεί και την $HTTP_POST_FILES αλλά και την $_FILES...!!! Αυτό που αποφεύγω πάντος είναι την χρησιμοποίηση της register_globals...την έχω πάντα off...
Όσο για την move_uploaded_files δεν την χρησιμοποιώ γιατί δεν την εκτελούσε ο Server της δουλειάς.... και δεν έχω ιδέα γιατί και έτσι γύρισα στην καλή παλιά copy :D

Όσο για την exit δεν διαφωνώ καθόλου ότι επιβάλει άλλη χρήση της όταν χρησιμοποιείται σε πολυπλοκότερες δομές... Για τις απλές δομές που κάνω τώρα απλός μου είναι μια χαρα...!!!

Είχα βρεί μέσω google την
http://www.etomite.org/forums/index.php ... =1307&st=0
στο post #5 αλλά θα ήθελα και άλλη γνώμη...!!!
μια νέα αρχή ξεκίνησε...
ένας καινούριος δρόμος άνοιξε...
redpanda.gr

Απάντηση

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

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

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