< ? PHP
# l'email de SWFUpload annoncent
# SWFUpload upload.php avec le reportage de dossier d'économie simple et d'email
# par Eric Pecoraro (pecoraro de point d'eric à COM de point de shepard)
# UTILISATION DE *** À VOTRE PROPRE *** DE *** DE RISQUE *** EXPRIMÉ OU IMPLICITE D'AUCUN WARRENTIES
# CE MANUSCRIT ÉTAIT *NOT* ÉCRIT POUR LA SÉCURITÉ, MAIS PLUTÔT CAR EXÉCUTION SIMPLE DE TÉLÉCHARGEMENT DE PHP.
# SE SENTIR LIBRE À USE/CHANGE/MODIFY/REDISTRIBUTE. Veuillez m'informer avec des améliorations.
# développé comme échantillon à employer en même temps que SWFUpload (http://www.swfupload.org)
# ABSTRAIT
# sauve les dossiers téléchargés par SWFUpload à un annuaire et rend compte intelligemment du processus par l'intermédiaire de l'email.
# INSTALLATION SIMPLE, EN SERVICE EN QUELQUES MINUTES
# 1. remplacent les dossiers originaux de « upload.php » du paquet de SWFUpload v2.1.0 par ce dossier.
# 2. assignent votre email address à $upload_notify_email ci-dessous.
# 3. créent un annuaire à affichage de « téléchargements » de PHP comme suit : swfupload/démos/téléchargements
# l'email installé de SWFUpload annoncent
# ---------------
$upload_email_reporting = rectifient ; // vrai ou faux (les tours faux envoient le reportage au loin)
$upload_notify_email = « [email protected] » ; // écrivent votre email address valide
$upload_directory = « /home/swfupload/uploads » ; blanc de congé de // pour le défaut
# DÉFINISSANT $upload_directory
# doit indiquer un annuaire à affichage de PHP
# voir le http://www.onlamp.com/pub/a/php/2003/02/06/php_foundations.html pour traiter des permissions de PHP
/*
L'annuaire de défaut pour ce manuscrit est placé à l'annuaire de « téléchargements »
dans le même annuaire que l'index.php de la démo de SWFUpload classe :
# SWFUpload v2.1.0 Beta.zip (paquet de SWFUpload)
# swfupload/démos/téléchargements
Ceci « télécharge » l'annuaire peut ne pas exister avec le paquet de SWFUploads et peut avoir besoin créé (avec le PHP les autorisations d'écriture).
En tous cas, ce manuscrit enverra un message électronique au sujet du statut de l'annuaire de téléchargement.
*
# essai de configuration d'email de PHP
# ---------------
# placer à « vrai » pour examiner si la configuration de fonction de courrier du PHP de votre serveur () fonctionne, en essayant de télécharger un dossier.
# l'email simple d'A sera envoyé par tentative de téléchargement, vous faisant savoir que le funciton du courrier du PHP () fonctionne.
$test_php_mail_config = faux ; // vrai ou faux
# ---------------
# AUCUNES MODIFICATIONS REQUISES AU-DESSOUS DE CETTE LIGNE
# ---------------
# CRÉER L'ENDROIT DU TÉLÉCHARGEMENT DIRECTY DE DÉFAUT
# ---------------
Si (! $upload_directory) {
$upload_directory = « télécharge » ;
$parent_dir = array_pop (éclater (DIRECTORY_SEPARATOR, dirname (le __FILE)));
$upload_directory = substr (le dirname (__FILE), 0, strlen (dirname (__FILE)) - strlen ($parent_dir)). $upload_directory ;
}
# ---------------
# ESSAIS D'EMAIL
Si (! $upload_notify_email) {
$upload_email_reporting = faux ;
}
# envoie un email par tentative de SWFUpload.
si (== de $test_php_mail_config vrai) {
send_mail (« essai d'email de SWFUpload : SUCCÈS ! », « être sûr de placer $test_php_mail_config de nouveau à faux de sorte que l'email de SWFUpload informent le reportage soit tourné on.") ;
$upload_email_reporting = faux ;
}
# ---------------
# ANNUAIRE DE TÉLÉCHARGEMENT D'ESSAI
Si (! file_exists ($upload_directory)) {
$msg = « , assigné d'annuaire de SWFUpload \ « $upload_directory \ » n'existe pas. « ;
send_mail (« annuaire de SWFUpload non trouvé : $upload_directory », $msg) ;
$upload_email_reporting = faux ;
}
si (== de $upload_email_reporting vrai) {
$uploadfile = $upload_directory. DIRECTORY_SEPARATOR. basename ($_FILES [« Filedata »] [« nom »]) ;
si (! is_writable ($upload_directory)) {
$msg = « , d'annuaire \ « $upload_directory \ » n'est pas à affichage par le PHP. Des permissions doivent être changées en dossiers de téléchargement. « ;
send_mail (« annuaire Unwritable de SWFUpload : $upload_directory », $msg) ;
$upload_directory_writable = faux ;
} autrement {
$upload_directory_writable = rectifient ;
}
}
Work-around de // pour installer une session parce que le joueur instantané n'envoie pas les biscuits
si (isset ($_POST [« PHPSESSID »])) {
session_id ($_POST [« PHPSESSID »]) ;
}
session_start () ;
si (! isset ($_FILES [« Filedata »]) || ! is_uploaded_file ($_FILES [« Filedata »] [« tmp_name »]) || $_FILES [« Filedata »] [« erreur »] ! = 0) {
# ---------------
# RAPPORT D'ÉCHEC DE TÉLÉCHARGEMENT
si (== de $upload_email_reporting vrai) {
commuter ($_FILES [« Filedata »] [« erreur »]) {
affaire 1 : $error_msg = « dossier a dépassé la taille maximum de téléchargement de serveur » de .ini_get (« upload_max_filesize "). « . » ; coupure ;
affaire 2 : $error_msg = « dossier a dépassé la taille de fichier de fichier maximum. » ; coupure ;
affaire 3 : $error_msg = « dossier seulement partiellement téléchargé. » ; coupure ;
affaire 4 : $error_msg = « aucun dossier téléchargé. » ; coupure ;
}
send_mail (« échec de SWFUpload : ». $_FILES [« Filedata »] [« nom »], « erreur de PHP : ». $error_msg. « \ n \ n ». « Sauf le chemin : ». $uploadfile. « \ n \ n ». « données de $_FILES : ». « \ n » .print_r ($_FILES, rectifient));
}
l'écho « il y avait un problème avec le téléchargement » ;
sortie (0) ;
} autrement {
# ---------------
# RAPPORT DU TÉLÉCHARGEMENT SUCCESS/FAILURE DE COPIE
si (== de $upload_email_reporting vrai ET == de $upload_directory_writable vrai) {
si (move_uploaded_file ($_FILES [« Filedata »] [« tmp_name »], $uploadfile)) {
send_mail (« dossier de SWFUpload sauvé : ». $_FILES [« Filedata »] [« nom »], « sauf le chemin : ». $uploadfile. « \ n \ n ». « données de $_FILES : ». « \ n » .print_r ($_FILES, rectifient));
} autrement {
send_mail (« dossier de SWFUpload non sauvé : ». $_FILES [« Filedata »] [« nom »], « sauf le chemin : ». $uploadfile. « \ n \ n ». « données de $_FILES : ». « \ n » .print_r ($_FILES, rectifient));
}
}
l'écho « flash exige que nous produisons quelque chose ou elle ne mettra pas le feu à l'événement d'uploadSuccess » ;
}
# ---------------
# FONCTION DE COURRIER
send_mail de fonction ($subject= " email annoncent ", le "" de $message=) {
$upload_notify_email global ;
$from = « [email protected] » ;
$return_path = « - f ». $from ;
courrier ($upload_notify_email, $subject, $message, « de : $from \ nX-Annonce : PHP. $phpversion () ") ;
}
? class= >
" clair " de >