Πώς μπορώ να πάρω το full path ενός image χρησιμοποιώντας <input type="file">???

Από που να ξεκινήσω; Που θα βρω; κ.α. γενικές ερωτήσεις για την δημιουργία μιας ιστοσελίδας.

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

Απάντηση
g_p
Δημοσιεύσεις: 134
Εγγραφή: 28 Μάιος 2010 12:43

Πώς μπορώ να πάρω το full path ενός image χρησιμοποιώντας <input type="file">???

Δημοσίευση από g_p » 17 Φεβ 2011 17:30

Παιδιά γεια σας,

έχω φτιάξει μια απλη φόρμα στην οποία ο χρήστης uploads ένα image.
H φόρμα έχει τρία πεδία.
1. file to upload
2. desirable width of img
3. desirable height of img

Εγώ θα έχω ένα script το οποίο θα κάνει resize το image.
Από το χρήστη παίρνω το image αλλά θέλω στην συνέχεια να μπορώ εγώ μέσω του προγράμματος
να αποθηκεύω στο φάκελο από τον οποίο τράβηξα το img το νέο image.
Για αυτό χρειάζομαι το full path του image.

Πώς μπορώ να το πάρω??

Η φόρμα είναι ως εξής

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

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Form for uploading Image</title>
</head>

<body>


<form name="UploadImage" method="post" enctype="multipart/form-data"  action="submit.php" onsubmit="ValidateForm&#40;&#41;">
 <table>
 	<tr>
		<td>File to upload</td>
		<td><input type="file" name="file" id="file"></td>
	</tr>
	<tr>
		<td>Width&#58;</td>
		<td><input type="text" name="MyWidth" size="8"></td>
	</tr>
	<tr>
		<td>Height&#58;</td>
		<td><input type="text" name="MyHeight" size="8"></td>
	</tr>	
 	<tr>		
		<td style="padding&#58;2px;"><input name="Submit" type="submit" value="Upload Picture"></td>
	</tr>
 </table>	
</form>

</body>
</html>
Στο submit.php έχω:

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

<?php
$imgWidth = $_POST&#91;"MyWidth"&#93;;
$imgHeight = $_POST&#91;"MyHeight"&#93;;
$fileName =  $_FILES&#91;'file'&#93;&#91;'name'&#93;; /* EDO epistrefei sketo to onoma p.x. icon.jpg
DEN EPISTREFEI TO FULL PATH TOU IMAGE */

?>
Υπάρχει κάποιος τρόπος χρησιμοποιώντας php, html form με <input type="file" ... >
να μπορώ να παίρνω το FULL path του image??


π.χ. C:/Documents and Settings/My Pictures/icon.jpg???

ευχαριστω εκ των προτέρων

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

Πώς μπορώ να πάρω το full path ενός image χρησιμοποιώντας <input type="file">???

Δημοσίευση από fafos » 17 Φεβ 2011 17:44

otan kaneis upload h image sozetai prosorina sto tmp.. esy tou les meta pou tha apothikeutei to original image... an den thes na to apothikeuseis para na pareis mono to thumbnail apla den to apothikeueis..

edo einai to image meta to upload: $_FILES['file']['tmp_name'];

kai perimenei thn epomenh kinhsh sou..
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

papoukas
Δημοσιεύσεις: 76
Εγγραφή: 18 Ιαν 2011 23:24

Πώς μπορώ να πάρω το full path ενός image χρησιμοποιώντας <input type="file">???

Δημοσίευση από papoukas » 17 Φεβ 2011 17:59

Το _FILES σου επιστρέφει τις τιμές από το αρχείο που έχεις δώσει προς upload. Αρχικά με την move_uploaded_file σου φέρνει το upload file από το tmp στο dir που θέλεις και μετα το κάνεις ότι θέλεις.

$ftmp = $_FILES['image']['tmp_name'];
$oname = $_FILES['image']['name'];
$f=$_FILES['image']['name'];

$fname = '/media/images/'.$f;

if(move_uploaded_file($ftmp, $fname))
{
$adim=reseizeimage($fname,'/media/images/120_'.$f,120);
reseizeimage($fname,'/media/images/60_'.$f,60);
}





function reseizeimage($fsource,$ftarger,$newwidth)
{
$adim=Array();
$src = imagecreatefromjpeg($fsource);
list($width,$height)=getimagesize($fsource);
$adim["originalwidth"]=$width;
$adim["originalheight"]=$height;
$newheight=($height/$width)*$newwidth;
$adim["newwidth"]=$newwidth;
$adim["newheight"]=$newheight;
$tmp=imagecreatetruecolor($newwidth,$newheight);
imagecopyresampled($tmp,$src,0,0,0,0,$newwidth,$newheight,$width,$height);
imagejpeg($tmp,$ftarger,100);
imagedestroy($src);
imagedestroy($tmp);
return $adim;
}

g_p
Δημοσιεύσεις: 134
Εγγραφή: 28 Μάιος 2010 12:43

Πώς μπορώ να πάρω το full path ενός image χρησιμοποιώντας <input type="file">???

Δημοσίευση από g_p » 17 Φεβ 2011 18:36

παιδιά ευχαριστώ για τις άμεσες απαντήσεις σας,

από ότι βλέπω χρειάζεται η

move_uploaded_file($ftmp, $fname).

Επίσης όταν την κάνω resize την αποθηκεύω σε δικό μου folder.

Γίνεται να την αποθηκεύω ,αφού την έχω λάβει εγώ, σε folder του χρήστη ή μόνο στο δικό μου pc?

ευχαριστώ

Απάντηση

Επιστροφή στο “Γενικές ερωτήσεις κατασκευής ιστοσελίδων”

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

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