Βοήθεια με php και άνοιγμα αρχείου μέσω http και ftp

...ασύγχρονα μαθήματα γλώσσας PHP

Βοήθεια με php και άνοιγμα αρχείου μέσω http και ftp

Δημοσίευσηαπό jumaru » 25 Οκτ 2012, 22:30

Γεια σας φίλοι μου θα ήθελα να ρωτήσω κάτι...Το παρακάτω php script παίρνει τα δεδομένα από μια φόρμα τα επεξεργάζεται και εμφανίζει τις πληροφορίες.... To πρόβλημα που έχω είναι ΜΟΝΟ στην fopen και αφορά την εμφάνιση του αρχείου που θα δημιουργηθεί από την παραγγελία ΜΕΣΩ HTTP ΚΑΙ FTP.Αρχείο μπορώ να ανοίξω κανονικά μέσα στον φάκελο που θέλω δηλαδή στον /opt/lampp/htdocs/orders/order.txt. ΜΕΧΡΙ ΕΔΩ ΜΙΑ ΧΑΡΑ. Να πω επίσις ότι το allow_url_open είναι ενεργοποιημένο σύμφωνα με το phpinfo()Το βιβλίο ισχυρίζεται ότι στην fopen αν βάλεις μπροστά από το όνομα αρχείου το <<http://www.example.com>>(λέει συγκεκριμένα) θα ανοίξει μια HTTP σύνδεση με το διακομιστή που θα καθορίσετε και θα επιστραφεί ένας δείκτης... >>Αλλά δεν βλέπω να ανοίγει κανένα παράθυρο... Αν πάω στον browser και πατήσω < http://localhost/orders/paraggelies.txt > . Ναι θα ανοίξει.... Αλλά το θέμα είναι να ανοίγει μόνο του... Ελπίζω να έγινα όσο το δυνατόν κατανοητός
ΒΟΗΘΕΙΑ ΑΔΕΛΦΙΑ
Η φόρμα είναι αυτή
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
<title>Παραγγελιες Bob</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<meta name="generator" content="Geany 0.21" />
</head>
<body>
<h1>Bob's Auto PArts</h1>
<h2>Order Form</h2>
<form action ="Order.php" method="post">
<table border="0">
<tr bgcolor="#cccccc"></td>
<td width="150">Item</td>
<td width="15">Quantity</td>
</tr>
<tr>
<td>Tires</td>
<td align="left"><input type="text" name="tireqty" size="3"
maxlength="3" /></td>
</tr>
<tr>
<td>Oil</td>
<td align="left"><input type="text" name="oilqty" size="3"
max maxlength="3"
/></td>
</tr>
<tr>
<td>Spark Plugs</td>
<td align="left"><input type="text" name="sparkqty" size="3"
maxlength="3"/></td>
</tr>
<tr>
<td>How did you find Bob's?</td>
<td><select name="euresi">
<option value="a">I dont know</option>
<option value="b">I'm a regular customer</option>
<option value="c">Tv Advertising</option>
<option value="d">Phone Directory</option>
<option value="e">Word of mouth</option>
</select>
</td>
</tr>
<tr>
<td>Shipping address</td>
<td align="center"><input type="text" name="address" size="40" maxlength="40"/></td>
</tr>
<tr>
<td colspan="2" align="right"><input type="submit" value="Submit Order"
/></td>
</tr>
</table>
</form>
</body>
</html>

Από εδώ και κάτω ξεκινάει το php script

<head>
<title>Bob's Auto Parts</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<meta name="generator" content="Geany 0.21" />
</head>
<body>
<h1>Bob's Auto Parts</h1>
<h2>Order Results</h2>
<?php
/* METABLITES STATHERES
*/
$DOCUMENT_ROOT=$_SERVER['DOCUMENT_ROOT'];
$pragmatikiora=date('H:i,D jS F',strtotime("+1 hour"));
$pliroforia=$_POST['euresi'];
$dieuthinsi=$_POST['address'];
$lastixa=$_POST['tireqty'];
$ladia=$_POST['oilqty'];
$mpouzi=$_POST['sparkqty'];
define ('TIMILASTIXA',100);
define ('TIMILADIA',10);
define ('TIMIMPOUZI',4);
$totalamount=$lastixa+$ladia+$mpouzi;
$sinolo=($ladia*TIMILADIA+$mpouzi*TIMIMPOUZI+$lastixa*TIMILASTIXA)*1.22;
echo '</p>';
if ($totalamount<=0) {
echo 'Den paraggeilate tipota';
exit;} elseif ($totalamount>=1) {
echo '<p>Order Processed at ';
echo $pragmatikiora.'</p>';
echo 'Paraggeilate '.$lastixa.' elastika <br />';
echo 'Paraggeilate '.$ladia.' ladia <br />';
echo 'Paraggeilate '.$mpouzi.' mpouzi <br /><br />';
echo 'H dieuthinsi einai '.$dieuthinsi.'<br />';
echo 'Η συνολική αξια των προιόντων που παραγγείλατε είναι '.number_format($sinolo,2).'$';
echo '<p>';

}
switch ($pliroforia) {
case "a"; echo '<p style="color:purple">I dont remember how i find you</p>'; break;
case "b"; echo '<p style="color:red">Regular Customer'.'</p>'; break;
case "c"; echo '<p style="color:blue">Tv Advertising'.'</p>'; break;
case "d"; echo '<p style="color:green">By Phone Directory'.'</p>'; break;
case "e"; echo '<p style="color:brown">Word of Mouth'.'</p>'; break;
}
$fp=fopen("$DOCUMENT_ROOT/../orders.order.txt", "ab");
echo '</p>';
$outputstring=$pragmatikiora." tires \t".$lastixa." ladia \t".$ladia." mpouzi \t".$mpouzi. $totalamount."\t"
. $dieuthinsi."\n";

fwrite($fp, $outputstring);
?>
</body>

</html>

Αρχείο μπορώ να ανοίξω κανονικά μέσα στον φάκελο που θέλω δηλαδή στον /opt/lampp/htdocs/orders/order.txt. ΜΕΧΡΙ ΕΔΩ ΜΙΑ ΧΑΡΑ... Αλλά στο επόμενο κεφάλαιο λέει ότι μπορείς να δεις την παραγγελία που θα αποθηκευτει και μέσω http ή ftp... ΕΔΩ ΕΧΩ ΚΟΛΛΗΣΕΙ... έψαξα το google αλλά δεν κατάλαβα τίποτα. Να πω επίσις ότι το allow_url_open είναι ενεργοποιημένο σύμφωνα με το phpinfo()Το βιβλίο ισχυρίζεται ότι στην fopen αν βάλεις μπροστά από το όνομα αρχείου το <<http://www.example.com>>(λέει συγκεκριμένα) θα ανοίξει μια HTTP σύνδεση με το διακομιστή που θα καθορίσετε και θα επιστραφεί ένας δείκτης... >>Αλλά δεν βλέπω να ανοίγει κανένα παράθυρο... Αν πάω στον browser και πατήσω < http://localhost/orders/paraggelies.txt > . Ναι θα ανοίξει....
1 Γνώσεις Linux: Πρώτα βήματα ┃ Προγραμματισμού: Πρώτα βήματα ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 12.04 precise 3.2.0-29-generic-pae 32bit (en_US.UTF-8), Ubuntu 3.2.0-32-generic-pae
3 AMD Athlon 64 X2 Dual Core Processor 3800+ ‖ RAM 2012 MiB ‖ ASUSTek Computer INC. M2NPV-MX
4 AMD nee ATI Device [1002:71cd]
5 eth0: nVidia MCP51 Ethernet Controller [10de:0269] (rev a3)
Άβαταρ μέλους
jumaru
babeTUX
babeTUX
 
Δημοσιεύσεις: 20
Εγγραφή: 13 Ιούλ 2012, 00:48
Εκτύπωση

Επιστροφή στο Μαθήματα PHP

cron