upload script
Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
-
GarryOne
- Mesaje:27
upload script
trebuie sa fac un script care sa uploadeze doar fisierele .txt . daca procedura s-a efectuat cu succes, sa se vizualizeze continutul fisierului .txt. Insa imi da eroare. si nu inteleg unde e greseala
Cod: Selectaţi tot
$folder="data/images/";
$foto=$folder.'file.txt';
if ($_FILES['foto']['tmp_name'])
{
if (file_exists($foto))
{
unlink($foto);
}
move_uploaded_file($_FILES['foto']['tmp_name'], "$foto");
$allowedExtensions = array("txt","htm","html","xml");
foreach ($_FILES as $file) {
if ($file['tmp_name'] > '') {
if (!in_array(end(explode(".",
strtolower($file['name']))),
$allowedExtensions)) {
die($file['name'].' is an invalid file type!<br/>'.);
}
}
}
if ( $type! = "txt")
{
$_SESSION['error']='<p>Eroare. Incercati din nou.</p>';
unlink($foto);
redir('index.php');
}
else
{
redir('index.php?rs=ok');
}
}
else
{
redir('index.php');
}
?>
MarPlo
Mesaje:4343
Multe greseli de sintaxa, de ex, e adaugat '... <br/>'.); , punctul e in plus.
E if ( $type! = "txt"), ar trebui fara spatiu intre '!' si '='
Functia redir() nu e in php.
Plus greseli de logica a rularii instructiunilor.
Trebuie refacut, si eventual posteaza ce erori apar, dupa ce incerci sa le rezolvi. Erorile care sunt afisate indica linia de cod si posibila cauza.
GarryOne
Mesaje:27
nu functioneaza codul si vreau ca voi sa-mi spuneti unde e greseala, si ce sa fac ca sa repar codul sa functioneze.
imi apare Parse error: syntax error, unexpected T_ELSE in /home/a9540258/public_html/www/upload.php on line 31.
ideea era, sa fac un script care sa accepta doar extensiile .txt .xml. .html .htm , daca fisierul uploadat nu respecta aceasta conditie sa se afeseze die($file['name'].' is an invalid file type!<br/>'); , daca uploadul se efectueaza cu succes sa-mi arata continutul fisierul uploadat.
upload.php
Cod: Selectaţi tot
<?php
include('utilities.php');
$folder="data/images/";
$foto=$folder.'file.txt';
if ($_FILES['foto']['tmp_name'])
{
move_uploaded_file($_FILES['foto']['tmp_name'], "$foto");
$allowedExtensions = array("txt","htm","html","xml");
if ($file['tmp_name'] > '') {
if (!in_array(end(explode(".",
strtolower($file['name']))),
$allowedExtensions)) {
die($file['name'].' is an invalid file type!<br/>');
}
}
}
if ( $type!= "txt")
{
$_SESSION['error']='<p>Eroare. Incercati din nou.</p>';
unlink($foto);
redir('index.php');
}
else
{
redir('index.php?rs=ok');
}
else
{
redir('index.php');
}
?>
home.php
Cod: Selectaţi tot
<?php
if(isset($_GET['rs']))
{
$result=$_GET['rs'];
}
if($result=='ok')
{
echo 'data/images/file.txt';
}
else
{
if(!empty($_SESSION['error']))
{
echo $_SESSION['error'];
$_SESSION['error']="";
}
echo '<form action="upload.php" method="post" enctype="multipart/form-data" name="upload" >
<input type="file" name="foto" />
<br />
<input type="submit" value="Uploadeaza" />
</form>';
}
?>
MarPlo
Mesaje:4343
Parse error: syntax error, unexpected T_ELSE in /home/a9540258/public_html/www/upload.php on line 31 specifica o problema cu instructiuea else la acea linie.
Problema acestei erori e ca ai if(), else, apoi iar un else. Acesta din urma nefiind legat de un if(), iti returneaza acea eroare.
Rezolvarea la problema asta: acel "else" trebuie adaugat dupa un if() (sau "else if()").
GarryOne
Mesaje:27
cand uploadez un fisier cu extensia in afara de acele propuse, imi da eroare, cum ar trebui, insa problema este ca cand uploadez un fisier text, nu se uploadeaza cu succes si nu-mi arata continutul insa imi da eroare la fel ca si cu ma as uploada alt tip de extensie.
m-am uitat in folderul respectiv unde trebuia sa se uploadeze fisierul si nu este nimic
Cod: Selectaţi tot
<?php
include('utilities.php');
$folder="data/images/";
$foto=$folder.'file.txt';
if ($_FILES['foto']['tmp_name'])
{
move_uploaded_file($_FILES['foto']['tmp_name'], "$foto");
$allowedExtensions = array("txt","htm","html","xml");
if ($file['tmp_name'] > '') {
if (!in_array(end(explode(".",
strtolower($file['name']))),
$allowedExtensions)) {
die($file['name'].' is an invalid file type!<br/>');
}
}
}
if ( $type!= "txt")
{
$_SESSION['error']='<p>Eroare. Incercati din nou.</p>';
unlink($foto);
redir('index.php');
}
?>
MarPlo
Mesaje:4343
Incearca sa testezi si sa adaptezi la ce upload vrei scriptul urmator:
Cod: Selectaţi tot
<?php
// - marplo.net
ini_set('display_errors',1);
error_reporting(E_ALL);
$folder = 'lucru/';
if (isset($_FILES['thefile']))
{
$type = end(explode(".", strtolower($_FILES['thefile']['name'])));
$allowtype = array('txt', 'htm', 'html', 'xml');
$thefile = $folder. $_FILES['thefile']['name'];
if (in_array($type, $allowtype)) {
if ($_FILES['thefile']['error']==0) {
if (move_uploaded_file ($_FILES['thefile']['tmp_name'], $thefile)) {
header('Location: '. $thefile);
}
else echo 'Fisierul nu poate fi copiat';
}
}
else echo 'Tip fisier nepermis';
}
?>
<form id="uploadform" action="" method="post" enctype="multipart/form-data">
<input type="file" name="thefile" />
<input type="submit" value="UPLOAD" id="sub" />
</form>
Subiecte similare
- Formular de contact cu upload imagini
Scripturi de pe site
Primul mesaj
Salutare si la multi ani!
Revin cu o intrebare pentru scriptul formular de contact, de la pagina: marplo.net/php-mysql/formular_contact
Este...
Ultimul mesaj
M-am uitat pe codul din formularul de contact.
Am decis sa nu ma complic cu asa multe adaugari si verificari in acel script.