PHP-upload

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

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

Απάντηση
katerina1123
Δημοσιεύσεις: 216
Εγγραφή: 11 Απρ 2007 03:02

PHP-upload

Δημοσίευση από katerina1123 » 11 Μάιος 2007 16:49

kalispera paidia!
Loipon...thelo na kano upload st selida arxeia pdf prin ftaso se ayto to simeio logo tou oti den ksero kai polla eipa na ksekiniso me apla pragmta na katalavo pos douleyi i oli istoria

Egrapsa ayton ton kodika pou ton eixe to vivli mou...

upload.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<style type="text/css">
<!--
#Layer1 {
position:absolute;
width:443px;
height:170px;
z-index:1;
left: 89px;
top: 16px;
}
-->
</style>
</head>





<body>
<div id="Layer1">


<form enctype="multipart/form-data" action="upload.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="30000">
Send this file: <input name="userfile" type="file">
<input type="submit" value="Send File">
</form>
</div>
</body>
</html>


upload.php


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<style type="text/css">
<!--
#Layer1 {
position:absolute;
width:200px;
height:115px;
z-index:1;
left: 460px;
top: 176px;
}
-->
</style>
</head>

<body>

<div id="Layer1">

<?
if( $userfile=="none")

{

echo"Problem:no file uploaded";

exit;

}

if($userfile_size==0)

{

echo"Problem:Upload file iszero lenght";
exit;


}

if($userfile_type !="text/plain")

{
echo"file is not text";

exit;
}
if(!is_uploaded_file($userfile))

{
echo"attack";

exit;

}



$upfile="C:/Documents and Settings/katerina/Dowloads/.$userfile_name";

if (!copy($userfile,$upfile))
{
echo"not move";
exit;

}


echo"File upoladed succesfully <br><br>";

$fp= fopen($upfile,"r");

$contents= fread ($fp,filesize($upfile));

fclose($fp);

$contents= strip_tags($contents);
$fp= fopen($upfile,"w");
fwrite($fp,$contents);
fclose($fp);

echo"Preview of uploaded file: <br><hr>";
echo"$contents";
echo "<br><hr>";




?>
<h1>
Uploading FIle
</h1>
</div>
</body>
</html>


OLA AYTA GINONTE SE SERVER ETSI KANONIKA EINAI SIKOMENA.....DEN DOULEYEI AYTO...PSAXNO..KAI BERDEYOMAI PERISOTERO...

SAS EYXARISTO

Άβαταρ μέλους
MaZz
Script Master
Δημοσιεύσεις: 345
Εγγραφή: 20 Ιούλ 2005 19:41
Τοποθεσία: Beyond the dark sun
Επικοινωνία:

PHP-upload

Δημοσίευση από MaZz » 11 Μάιος 2007 18:51

Μπερδεύεσαι γιατί ξεκινάς με προχωρημένα πράγματα παραλείποντας τα βασικά.

Ακολούθησε τα παρακάτω βήματα:

1. Θα χρειαστείς ένα αρχείο html που θα έχει την φόρμα upload όπως αυτό που γράφω παρακάτω

όνομα αρχείου: upload_form.html

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

<html>
	<head>
		<title>Upload your pdf file</title>
	</head>
	<body>
		<form method="post" enctype="multipart/form-data" action="upload.php">
			Select a pdf file &#58; <input type="file" name="file" /> &nbsp; <input type="submit" value="upload" />
		</form>
	</body>
</html>
2. Τώρα που έχουμε την φόρμα θα πρέπει να γράψουμε το script που θα μεταφέρει το ανεβασμένο αρχείο στην διαδρομή που θα του πούμε εμείς.

όνομα αρχείου: upload.php

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

<?php
	//
	//Ala3e tin timh ths metavliths me ton fakelo pou 8eleis na ginonte upload ta arxeia alliws asto etsi gia ton arxiko fakelo &#40;htdocs&#41;
	$upload_path = $_SERVER&#91;'DOCUMENT_ROOT'&#93;;
	//
	
	if &#40;count&#40;$_FILES&#91;'file'&#93;&#41;&#41; &#123;
		$tmp_name = $_FILES&#91;'file'&#93;&#91;'tmp_name'&#93;;
		$name = $_FILES&#91;'file'&#93;&#91;'name'&#93;;
		$size = $_FILES&#91;'file'&#93;&#91;'size'&#93;;
		$size = &#40;$size >= 1024&#41; ? floor&#40;$size / 1024&#41; . "kbytes" &#58; $size . "bytes";
		
		if &#40;is_uploaded_file&#40;$tmp_name&#41;&#41; &#123;
			if &#40;substr&#40;$name,strlen&#40;$name&#41;-3,strlen&#40;$name&#41;&#41; != "pdf"&#41; &#123;
				echo "Error&#58; Please upload a file with pdf extension";
				exit;
			&#125;
			if &#40;file_exists&#40;$upload_path . "/" . $name&#41;&#41; &#123;
				echo "Error&#58; File already uploaded...";
				exit;
			&#125;
			if &#40;move_uploaded_file&#40;$tmp_name,$upload_path . "/" . $name&#41;&#41; &#123;
				echo "File uploaded ;&#41;<br /><br />Name&#58; " . $name . "<br />Size&#58; " . $size;
			&#125; else &#123;
				echo "Error&#58; Unable to move &#58;&#40;";
			&#125;
		&#125; else &#123;
			echo "Error&#58; Unable to upload &#58;&#40;";
		&#125;
	&#125; else &#123;
		header&#40;"location&#58; upload_form.html"&#41;;
	&#125;
?>
Το μόνο που έχεις να κάνεις είναι να αλλάξεις την τιμή της μεταβλητής $upload_path με την διαδρομή που θέλεις να μεταφέρονται τα αρχεία (η διαδρομή διαφέρει από λειτουργικό σε λειτουργικό) και φυσικά να τρέξεις το upload_form.html από τον browser σου :kaloe:

Το script αυτό δουλεύει μεν αλλά θα πρέπει να γίνουν βελτιώσεις οπως να ορίσεις το μέγεθος του ανεβασμένου αρχείου η να κάνεις κάποιους παραπάνω ελέγχους (if). Ελπίζω να έγινε κατανοητό το script ;)
Τελευταία επεξεργασία από το μέλος MaZz την 14 Ιούλ 2007 20:15, έχει επεξεργασθεί 1 φορά συνολικά.
If nothing in the world can change our children will inherit nothing.

katerina1123
Δημοσιεύσεις: 216
Εγγραφή: 11 Απρ 2007 03:02

PHP-upload

Δημοσίευση από katerina1123 » 11 Μάιος 2007 22:05

Arketa katanoito.......eyxaristo poli ekatses kai egrpses tosa!!!
Xrisimopoio ton filezilla kai pano pou grafei to path pou gragfei sigekrimena /web/data opou ekei thelo na paei..ayto pira kai egrapsa san path...den ksero an lipei kati...

katerina1123
Δημοσιεύσεις: 216
Εγγραφή: 11 Απρ 2007 03:02

PHP-upload

Δημοσίευση από katerina1123 » 11 Μάιος 2007 22:20

akiro.....afisa to path opos to exeis...kai tora den ksero pou to exei valei...ekana test na do an to exei anvasei anevazontas to idio arxei kai ontos ipaxei giati vgazei oti iparxei...pou eunai to root oeo...????

Άβαταρ μέλους
bilios
Δημοσιεύσεις: 262
Εγγραφή: 29 Ιουν 2005 11:31
Τοποθεσία: Sahara..

PHP-upload

Δημοσίευση από bilios » 12 Μάιος 2007 04:07

kane search to onoma tou arxeiou pou anevases kai vres to! :D oeo...

Άβαταρ μέλους
MaZz
Script Master
Δημοσιεύσεις: 345
Εγγραφή: 20 Ιούλ 2005 19:41
Τοποθεσία: Beyond the dark sun
Επικοινωνία:

PHP-upload

Δημοσίευση από MaZz » 12 Μάιος 2007 13:37

Αφού συνδεθείς στον ftp server μέσω του filezilla δημιούργησε έναν φάκελο π.χ. uploads, μπες στον φάκελο και κάνε copy - paste την διαδρομή που σου γράφει.
If nothing in the world can change our children will inherit nothing.

katerina1123
Δημοσιεύσεις: 216
Εγγραφή: 11 Απρ 2007 03:02

PHP-upload

Δημοσίευση από katerina1123 » 12 Μάιος 2007 20:05

den katalavaino...otan vazo docoument root to vazei otan vazo kapoio allo path den to kanei...kati den grafo sosta sto path?
Vazo to path pou vgazei to fillezila....

katerina1123
Δημοσιεύσεις: 216
Εγγραφή: 11 Απρ 2007 03:02

PHP-upload

Δημοσίευση από katerina1123 » 12 Μάιος 2007 20:35

mipos prepei na valo olo path??dilad http//xxxxxx/xxxxx/xxxx as poume...to vala kai ayto alla tipota... :hammer: :crybaby:

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

PHP-upload

Δημοσίευση από billt » 12 Μάιος 2007 22:08

dwse permissions 777 sto fakelo uploads

katerina1123
Δημοσιεύσεις: 216
Εγγραφή: 11 Απρ 2007 03:02

PHP-upload

Δημοσίευση από katerina1123 » 12 Μάιος 2007 22:27

To vrika.vasika ithele dipla apo toupload_path = $_SERVER['DOCUMENT_ROOT']; na grapso kai ayto
."/kai edo to path pou thelo.
To vrika psaxnontas..giati omos ayti i diafora?

Άβαταρ μέλους
MaZz
Script Master
Δημοσιεύσεις: 345
Εγγραφή: 20 Ιούλ 2005 19:41
Τοποθεσία: Beyond the dark sun
Επικοινωνία:

PHP-upload

Δημοσίευση από MaZz » 13 Μάιος 2007 12:05

το $_SERVER['DOCUMENT_ROOT'] επιστρέφει τον αρχικό σου φάκελο και όχι το url, οπότε αν στον αρχικό σου φάκελο δημιουργήσεις έναν με όνομα uploads τότε θα πρέπει να είναι

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

$upload_path = $_SERVER&#91;'DOCUMENT_ROOT'&#93; . "/uploads";
δεν καταλαβαίνω γιατί δε σου είναι κατανοητό...
If nothing in the world can change our children will inherit nothing.

katerina1123
Δημοσιεύσεις: 216
Εγγραφή: 11 Απρ 2007 03:02

PHP-upload

Δημοσίευση από katerina1123 » 13 Μάιος 2007 12:37

Giati den iksera pou se pigenei to docoument root..na rotiso kati..exete na proteinete kapoio kalo vivlio gia php mysql exo ena tha ithela kati kallitero einai tou giourda ayto...

Tora an doso diladi sto path na dixnei se kapoia selida tha emfanizete ekei?mporo na oriso ego pou thelo na emfanizete..?
O telikos skopos einai ta na mporoun ayta na ginonte download apo ton xristi me link..

Άβαταρ μέλους
MaZz
Script Master
Δημοσιεύσεις: 345
Εγγραφή: 20 Ιούλ 2005 19:41
Τοποθεσία: Beyond the dark sun
Επικοινωνία:

PHP-upload

Δημοσίευση από MaZz » 13 Μάιος 2007 12:47

Δημιούργησε ένα php script και γράψε:

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

<?php echo $_SERVER&#91;'DOCUMENT_ROOT'&#93;; ?>
ανέβασέ το, τρέξτο και πες μας τι σου εμφανίζει.
If nothing in the world can change our children will inherit nothing.

katerina1123
Δημοσιεύσεις: 216
Εγγραφή: 11 Απρ 2007 03:02

PHP-upload

Δημοσίευση από katerina1123 » 13 Μάιος 2007 22:13

Tiponei to path.
D:\sites\Localuser\osbook\web
Ok to anevazeis...tora prepei na do pos tha to enas xristis download..

katerina1123
Δημοσιεύσεις: 216
Εγγραφή: 11 Απρ 2007 03:02

PHP-upload

Δημοσίευση από katerina1123 » 13 Μάιος 2007 22:36

mou vgazei to path D:\sites\Localuser\osbook\web
Tora prepei na vro pos apo tin selida pou ta anevazo..tha mporei na kanei download o xristis.
Mporo na ta vazo ayta se mia vasi tautoxrona kai na annaneonete kathe fora pou kanei kati upload?

Απάντηση

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

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

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